השתמשו בפרוקסי שבאמת פתר את המשימה
כששולחים proxyCandidates, השתמשו ב-solution.egressAttempts כדי למצוא את הפרוקסי שפתר את המשימה. זהו אינדקס שמתחיל ב-1 ברשימת המועמדים המקורית. השתמשו בפרוקסי הזה כשאתם שולחים את הפתרון ליעד — ולא בפרוקסי אחר מהרשימה.
בדף הזה
שמרו את רשימת המועמדים המקורית
ספקו בדיוק אחד מהשדות proxy או proxyCandidates. רשימת מועמדים יכולה להכיל לכל היותר שתים עשרה כתובות URL שונות של פרוקסי HTTP או HTTPS, ללא נתיב, שאילתה או מקטע. שמרו את הבקשה המקורית ואת סדר המועמדים עד לבחירת הפרוקסי שהצליח; מיון או סינון של הרשימה לאחר מכן משנים את הפריט שאליו האינדקס מצביע.
מועמדים מאפשרים ל-solvethree לנסות נתיבי יציאה חלופיים; הם לא מבטיחים שפרוקסי או יעד יעבדו. משימות סשן דורשות proxy יחיד, ולא רשימת מועמדים.
אמתו את האינדקס לפני בחירת פרוקסי
עבור reCAPTCHA, Kasada ו-TMPT, השדה solution.egressAttempts מזהה את המועמד שהצליח. קבלו אותו רק אם הוא מספר שלם מ-1 ועד אורך המערך המקורי. הפחיתו אחד כשמשתמשים בו כאינדקס במערך JavaScript או ברשימת Python.
| מיקום מקורי | מועמד | נבחר |
|---|---|---|
| 1 | PROXY_A | לא |
| 2 | PROXY_B | כן |
| 3 | PROXY_C | לא |
כאן, הפרוקסי שהצליח הוא השני, PROXY_B, בהיסט 1 במערך. אם האינדקס חסר, אינו מספר שלם, שווה לאפס או מחוץ לטווח הרשימה, עצרו. אל תחליפו אותו בפרוקסי הראשון ואל תסיקו איזה פרוקסי הצליח לפי סדר הרשימה.
השתמשו בפונקציית העזר של ה-SDK, ואז השתמשו שוב בפרוקסי שנבחר
העבירו את המשימה המקורית ואת התוצאה המוכנה אל successfulProxy ב-JavaScript או אל successful_proxy ב-Python. הדוגמאות קוראות ל-solve כדי ליצור את המשימה ולתשאל עד שהיא מוכנה או שנזרקת שגיאה, ואז עוצרות אם פונקציית העזר לא מחזירה פרוקסי.
הגדירו בשרת את SOLVETHREE_API_KEY ואת שלושת משתני הסביבה של הפרוקסי. כל משתנה פרוקסי חייב להכיל כתובת URL תקינה ושונה של פרוקסי. החליפו את האתר והפעולה שבדוגמה ביעד ובפעולה המיועדים. הדוגמאות דורשות Node.js 22+ או Python 3.10+.
import { Solvethree, successfulProxy } from '@solvethree/sdk';
const client = new Solvethree({ apiKey: process.env.SOLVETHREE_API_KEY });
const request = {
site: 'accounts.example.com', action: 'login',
proxyCandidates: [process.env.PROXY_A, process.env.PROXY_B, process.env.PROXY_C],
};
const result = await client.solve(request);
const proxy = successfulProxy(request, result);
if (!proxy) throw new Error('No valid winning proxy index; do not guess');
// For egressAttempts: 2, proxy is request.proxyCandidates[1].
// Submit result.solution through this proxy with its returned browser identity.import os
from solvethree import Solvethree, successful_proxy
client = Solvethree(os.environ["SOLVETHREE_API_KEY"])
request = {
"site": "accounts.example.com", "action": "login",
"proxyCandidates": [os.environ["PROXY_A"], os.environ["PROXY_B"], os.environ["PROXY_C"]],
}
result = client.solve(request)
proxy = successful_proxy(request, result)
if proxy is None:
raise RuntimeError("No valid winning proxy index; do not guess")
# With egressAttempts == 2, proxy is request["proxyCandidates"][1].
# Use this proxy and the returned identity for the target request.שמרו את הפרוקסי שנבחר יחד עם userAgent, secChUa שהוחזרו והיעד המיועד, והשתמשו בזהות הזו בבקשה ליעד. ה-SDK בוחר את הפרוקסי; הוא לא מגדיר את הדפדפן שלכם ולא שולח את הפתרון עבורכם. פתרון מוכן אינו הוכחה לכך שהיעד קיבל אותו.
הפעלת המשימה הראשונה שלך.
התחילו עם $5 בקרדיט לסביבת העבודה.