Den Proxy verwenden, der die Aufgabe tatsächlich gelöst hat

Von solvethree2 Min. Lesezeit

Wenn Sie proxyCandidates senden, ermitteln Sie mit solution.egressAttempts den Proxy, der die Aufgabe gelöst hat. Der Wert ist ein bei eins beginnender Index in der ursprünglichen Kandidatenliste. Verwenden Sie diesen Proxy, wenn Sie die Lösung an das Ziel übermitteln – keinen anderen Proxy aus der Liste.

Auf dieser Seite

Ursprüngliche Kandidatenliste beibehalten

Geben Sie genau eines der Felder proxy oder proxyCandidates an. Eine Kandidatenliste akzeptiert höchstens zwölf unterschiedliche HTTP- oder HTTPS-Proxy-URLs ohne Pfad, Abfrage oder Fragment. Behalten Sie die ursprüngliche Anfrage und die Reihenfolge der Kandidaten bei, bis Sie den erfolgreichen Proxy ausgewählt haben; nachträgliches Sortieren oder Filtern der Liste verändert, worauf der Index verweist.

Mit Kandidaten kann solvethree alternative Ausgangsverbindungen ausprobieren; sie garantieren nicht, dass ein Proxy oder Ziel funktioniert. Sitzungsaufgaben erfordern einen einzelnen proxy, keine Kandidatenliste.

Index vor der Proxy-Auswahl validieren

Bei reCAPTCHA, Kasada und TMPT gibt solution.egressAttempts den erfolgreichen Kandidaten an. Akzeptieren Sie den Wert nur, wenn er eine ganze Zahl von 1 bis zur Länge des ursprünglichen Arrays ist. Ziehen Sie beim Indizieren eines JavaScript-Arrays oder einer Python-Liste eins ab.

Beispielergebnis: Eine fertige Aufgabe gibt egressAttempts mit dem Wert 2 zurück.
Beispielergebnis: Eine fertige Aufgabe gibt egressAttempts mit dem Wert 2 zurück.
Ursprüngliche PositionKandidatAusgewählt
1PROXY_ANein
2PROXY_BJa
3PROXY_CNein

Hier ist der zweite Proxy, PROXY_B, am Array-Offset 1 erfolgreich. Wenn der Index fehlt, eine Bruchzahl, null oder außerhalb der Liste ist, brechen Sie ab. Verwenden Sie nicht ersatzweise den ersten Proxy und leiten Sie den erfolgreichen Proxy nicht aus der Listenreihenfolge ab.

SDK-Hilfsfunktion verwenden und den ausgewählten Proxy erneut nutzen

Übergeben Sie die ursprüngliche Aufgabe und das fertige Ergebnis an successfulProxy in JavaScript oder successful_proxy in Python. Die Beispiele rufen solve auf, um die Aufgabe zu erstellen und ihren Status abzufragen, bis sie fertig ist oder ein Fehler ausgelöst wird. Anschließend brechen sie ab, falls die Hilfsfunktion keinen Proxy zurückgibt.

Setzen Sie SOLVETHREE_API_KEY und die drei Proxy-Umgebungsvariablen auf Ihrem Server. Jede Proxy-Variable muss eine andere gültige Proxy-URL enthalten. Ersetzen Sie die Beispielwebsite und -aktion durch Ihr vorgesehenes Ziel und Ihre Aktion. Die Beispiele erfordern Node.js 22+ oder Python 3.10+.

Node.js · Erfolgreichen Proxy auswählen
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.

Bewahren Sie den ausgewählten Proxy zusammen mit den zurückgegebenen Werten userAgent, secChUa und dem vorgesehenen Ziel auf und verwenden Sie diese Identität für die Zielanfrage. Das SDK wählt den Proxy aus; es konfiguriert weder Ihren Browser noch übermittelt es die Lösung für Sie. Eine fertige Lösung ist kein Beleg dafür, dass das Ziel sie akzeptiert hat.

Führe deinen ersten Task aus.

Starte mit $5 Workspace-Guthaben.

Workspace erstellen
Den Proxy verwenden, der die Aufgabe tatsächlich gelöst hat · solvethree