Einen Proxy-Pool für CAPTCHA-Lösungsvorgänge dimensionieren

Von solvethree4 Min. Lesezeit

Dimensionieren Sie den Pool anhand sich überschneidender Lösungs- und Übermittlungsabläufe, nicht anhand der Anwendungsthreads. Halten Sie den Proxy jedes Ablaufs bis zur Übermittlung an das Ziel fest zugeordnet; ein fertiges Token ist noch kein Grund, ihn freizugeben oder zu wechseln.

Auf dieser Seite

Mit vier festen Zuweisungen beginnen

Beginnen Sie für vier aktive logische Abläufe mit vier Proxy-Sitzungszuweisungen. Jeder Job verwendet seine zugewiesene Sitzung sowohl für den Lösungsvorgang als auch für die Übermittlung an das Ziel und übermittelt die Lösung anschließend zeitnah mit der zurückgegebenen Browseridentität.

Beispiel · Vier aktive logische Abläufe
[
  {
    "job": 1,
    "proxyEnvironmentVariable": "PROXY_SESSION_1",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  },
  {
    "job": 2,
    "proxyEnvironmentVariable": "PROXY_SESSION_2",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  },
  {
    "job": 3,
    "proxyEnvironmentVariable": "PROXY_SESSION_3",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  },
  {
    "job": 4,
    "proxyEnvironmentVariable": "PROXY_SESSION_4",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  }
]

Damit werden vier Jobs vier Sitzungen zugeordnet – nicht unbedingt vier unterschiedlichen IPs. Das ist weder eine allgemeingültige Regel von einer IP pro Thread noch eine gemessene Kapazitätsgrenze. Ein Thread, der keinen Lösungs- und Übermittlungsablauf ausführt, benötigt keine eigene Zuweisung.

Wenn Ihr Proxy-Anbieter die Ausgangs-IPs wechselt, nutzen Sie seine Sitzungs- oder Pinning-Funktion, damit Solver und Übermittlung dieselbe Ausgangs-IP verwenden. Vier Umgebungsvariablen allein stellen das nicht sicher. Übermitteln Sie mit dem erfolgreichen Proxy sowie userAgent und secChUa aus der Lösung, statt die üblichen Browserheader Ihrer Anwendung einzusetzen.

Kandidaten sind Alternativen, keine zusätzlichen Lösungsplätze

Eine reCAPTCHA-Anfrage akzeptiert genau einen der Parameter proxy oder proxyCandidates. Die Kandidatenliste akzeptiert bis zu zwölf unterschiedliche HTTP- oder HTTPS-Proxy-URLs ohne Pfad, Query oder Fragment. Das sind alternative Ausgänge für einen einzelnen Task, kein paralleler Stapel: Vier Jobs mit jeweils zwölf Kandidaten entsprechen weiterhin vier logischen Abläufen, nicht 48 Lösungen.

Bewahren Sie bei Verwendung von Kandidaten das ursprüngliche Array auf. Bei reCAPTCHA gibt solution.egressAttempts den erfolgreichen Kandidaten über seinen bei 1 beginnenden Index an. Prüfen Sie, ob der Wert eine Ganzzahl zwischen 1 und der Arraylänge ist, bevor Sie den Proxy für die Übermittlung auswählen. Fehlt der Wert oder ist er ungültig, brechen Sie ab, statt zu raten.

Ein Kandidatenlimit ist keine Empfehlung für die Poolgröße, und ein Fallback garantiert keinen funktionierenden Ausgang. Session-Tasks benötigen einen einzelnen Proxy; verwenden Sie daher keine Kandidatenlisten für diese Tasks.

Konfiguration mit vier Abläufen testen, bevor Sie IPs hinzufügen

Führen Sie den tatsächlichen Workflow auf der Zielwebsite aus. Erfassen Sie für jeden Job eine nicht vertrauliche Proxy-Session-Kennung, den abschließenden Task-Status und die Antwort der Zielwebsite. Unterscheiden Sie zwischen der Verfügbarkeit einer Lösung und ihrer Annahme durch die Zielwebsite. Andernfalls kann ein Pool funktionsfähig erscheinen, obwohl jede Übermittlung fehlschlägt.

Fertige Tokens warten auf die Übermittlung.

Kann die Anwendung Ergebnisse so schnell übermitteln, wie die vier aktiven Abläufe sie erzeugen?

Probiere Folgendes: Begrenzen Sie gleichzeitig laufende Lösungsvorgänge auf die Anzahl, die die Anwendung zeitnah verarbeiten kann. Mehr Proxy-Sessions beheben keine verzögerte Übermittlung.

Die Zielwebsite lehnt eine fertige Lösung ab.

Wurden bei der Übermittlung der erfolgreiche Ausgang, die zurückgegebene Browseridentität und das vorgesehene Ziel verwendet?

Probiere Folgendes: Beheben Sie Abweichungen, bevor Sie weitere IPs kaufen. Stimmen diese Angaben überein, vergleichen Sie Proxy-Optionen anhand desselben Workflows auf der Zielwebsite. Bezeichnungen wie Residential, Mobile oder Datacenter belegen keine Annahme.

Der Proxy gibt HTTP 407 zurück.

Prüfen Sie die Proxy-Authentifizierung, einschließlich reservierter Zeichen im Benutzernamen oder Passwort.

Probiere Folgendes: Korrigieren Sie die Zugangsdaten und kodieren Sie deren Bestandteile prozentual, nicht die gesamte Proxy-URL. Zusätzliche Kandidaten beheben denselben Authentifizierungsfehler nicht.

Wenn der Durchlauf mit vier Abläufen schlechter abschneidet als einer mit weniger Überschneidungen, untersuchen Sie diesen Unterschied vor einer Erweiterung. Erhöhen Sie die Anzahl fester Zuordnungen, wenn Sie mehr gleichzeitig laufende Abläufe benötigen, und vergleichen Sie anschließend erneut die End-to-End-Ergebnisse. Weder eine funktionierende Proxy-Verbindung noch ein größerer Pool belegt einen CAPTCHA-Score.

Lösungen und Proxy-Traffic getrennt budgetieren

Bei den aktuellen nutzungsabhängigen Tarifen kosten 10,000 fertige reCAPTCHA-Tasks $20, bevor Kontoguthaben oder geltende Boni berücksichtigt werden. Fehlgeschlagene Lösungsvorgänge werden erstattet. Eine Ablehnung durch die Zielwebsite führt nicht automatisch zur Erstattung einer fertigen Lösung.

Führen Sie Proxy-Kosten als separaten Posten. Verwenden Sie die Abrechnungsbedingungen Ihres Anbieters und den während desselben Lösungs- und Übermittlungstests gemessenen Traffic. Die Anzahl konfigurierter Sessions oder Kandidaten sagt nichts über die Traffic-Kosten aus.

Führe deinen ersten Task aus.

Starte mit $5 Workspace-Guthaben.

Workspace erstellen
Einen Proxy-Pool für CAPTCHA-Lösungsvorgänge dimensionieren · solvethree