Benutzerdefinierte Captcha umgehen
Hierbei handelt es sich um eine Art von Aufgabe, bei der Ihre App eine Seiten-URL-Adresse und eine benutzerdefinierte Aufgabe für unsere Arbeiter bereitstellt. Sie erledigen die Aufgabe Schritt für Schritt und senden dann ihren kompletten Browser-Fingerabdruck und Cookies an Ihre App zurück, damit die Sitzung fortgesetzt werden kann.
Mögliche Anwendungsbeispiele für diese Art von Aufgaben:
- (Basic) Navigieren Sie zu einer Seite, bitten Sie den Arbeiter, das Captcha zu lösen und den "Text einzugeben". Beenden, wenn ein bestimmter Text auf der Seite gefunden wird.
- (Erweitert) Navigieren Sie zu einer Seite, füllen Sie Texteingaben mit benutzerdefinierten Daten, bitten Sie den Arbeiter, ein Captcha zu lösen. Navigieren Sie zu einer Seite mit Zwei-Faktor-Authentifizierung, warten Sie auf den Code in Ihrer E-Mail, senden Sie diesen Code an den Arbeiter, der Arbeiter erhält den Code automatisch und betritt einen Kundenbereich. Beenden, wenn ein Element mit einem bestimmten CSS-Selektor gefunden wird.
Zeigt eine Liste der verfügbaren Arbeiteraktionen an.
Die vollständige Beschreibung der Technologie finden Sie in diesen Artikel oder diesen YouTube Tutorial.
Beachten Sie, dass es optionale Proxy-Parameter gibt. Nur HTTPS Proxies werden akzeptiert, "proxyAddress" muss eine IP-Adresse sein.
Aufgabenobjekt
Wert | Art | Erforderlich | Zweck |
---|---|---|---|
type | String | Ja | AntiGateTask |
websiteURL | String | Ja | Adresse einer Ziel-Website zu welcher unser Arbeiter navigiert. |
templateName | String | Ja | Name einer Szenariovorlage aus unserer Datenbank. Sie können eine bestehende Vorlage verwenden oder eine eigene erstellen. Sie können unterhalb dieser Tabelle nach einer bestehenden Vorlage suchen. |
variables | Objekt | Ja | Ein Objekt, das Vorlagen-Variablen und ihre Werte enthält. |
domainsOfInterest | Array | Nein | Liste der Domänennamen, in denen wir Cookies und localStorage-Daten sammeln sollen. Diese Liste kann auch statisch definiert werden, wenn die Vorlage bearbeitet wird. |
proxyAddress | String | Ja | Proxy-IP-Adresse ipv4/ipv6. Keine Hostnamen oder IP-Adressen aus lokalen Netzwerken. |
proxyPort | Integer | Ja | Proxy-Port |
proxyLogin | String | Ja | Login für Proxy mit erforderlicher Autorisierung (basic) |
proxyPassword | String | Ja | Proxy-Passwort |
Vorlagen-Sammlung
Aufgabenlösungsobjekt
Wert | Art | Zweck |
---|---|---|
cookies | Objekt | Ein Objekt mit Cookies, die auf der zuletzt von einem Arbeiter besuchten Seite abgerufen wurden. |
localStorage | Objekt | Ähnlich wie bei Cookies, ein Objekt mit localStorage Werten, die auf der letzten Seite abgefragt wurden. |
sessionStorage | Objekt | Ähnlich wie localStorage, ein Objekt mit sessionStorage-Werten, die bei der letzten Seite gegriffen wurden. Im Gegensatz zu localStorage bleiben die Werte im Speicher des Browsers, bis die Seite geschlossen wird. |
fingerprint | Objekt | Browser-Fingerprint-Parameter. Verwenden Sie diese zusammen mit Cookies und localStorage, um die Browser-Sitzung des Arbeiters in Ihrer Software wiederherzustellen. |
url | String | URL der Seite, auf der die Ausführung der Vorlage beendet wurde |
domain | String | Domain-Name der endgültigen Seite |
HTMLsInBase64 | Array | Ein Array von HTML-Schnappschüssen der Seitenbereiche, kodiert in base64. Schnappschüsse werden durch "TAKE_HTML_SNAPSHOT_BY_SELECTOR"-Schritte in AntiGate-Vorlagen erstellt. |
screenshots | Array | Screenshots aus dem Browser des Arbeiters, falls vorhanden. Um Screenshots zu bestellen, fügen Sie den Schritt TAKE_SCREENSHOT zu Ihrer Vorlage hinzu. |
requestHeaders | Array | Anfrage-Header von "domainsOfInterest", falls vorhanden. Um Header zu bestellen, aktivieren Sie die Option "HTTP-Header von Domains von Interesse sammeln" in Ihrer Vorlage |
responseHeaders | Array | Antwort-Header von "domainsOfInterest", falls vorhanden. Um Header zu bestellen, aktivieren Sie die Option "HTTP-Header von Domains von Interesse sammeln" in Ihrer Vorlage |
Antwort-Beispiel
{
"errorId": 0,
"status": "ready",
"solution": {
"cookies": {
"_ym_uid": "1637841149407895406",
"_ym_d": "1637841149",
"_ym_isad": "2",
"i18n_redirected2": "en"
},
"localStorage": {
"_ym40786994_lsid": "322553582843",
"_ym40786994_reqNum": "3",
"_ym_fip": "\"65aac1083a9e31e5db7fc4a33816f1da-a81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-4bd84c89c35a312599d807af285e7b5f-615e6e8d95ae2de0910b550b0e4dfce2-00b2e6de4e7f2e69dd7de8ef95c7338a-61b9878bbce18de73aafc8582a198c0c-33ad8703f96139d946191563a4c623e6-a81f3b9bcdd80a361c14af38dc09b309-c6d7b47b2dcff33f80cab17f3a360d0b-a95e7098ce4ab7ec9daa7fb4154b8ff4\"",
"_ym_retryReqs": "{}",
"_ym40786994_lastHit": "1637841164076",
"_ym_uid": "\"1637841149407895406\""
},
"fingerprint": {
"self.navigator.userAgent": "Mozilla\/5.0 (Windows NT 6.3; Win64; x64; rv:94.0) Gecko\/20100101 Firefox\/94.0",
"self.screen.width": 1280,
"self.screen.height": 768,
"self.screen.availWidth": 1280,
"self.screen.availHeight": 728,
"self.screen.availLeft": 0,
"self.screen.availTop": 0,
"self.navigator.vendorSub": "",
"self.navigator.productSub": "20100101",
"self.navigator.vendor": "",
"self.navigator.maxTouchPoints": 0,
"self.navigator.hardwareConcurrency": 2,
"self.navigator.cookieEnabled": true,
"self.navigator.appCodeName": "Mozilla",
"self.navigator.appName": "Netscape",
"self.navigator.appVersion": "5.0 (Windows)",
"self.navigator.platform": "Win32",
"self.navigator.product": "Gecko",
"self.navigator.language": "en-US",
"self.navigator.onLine": true,
"self.navigator.doNotTrack": "unspecified"
},
"url": "https:\/\/anti-captcha.com\/tutorials\/success-page?login=some%20login&pass=the%20password",
"domain": "anti-captcha.com",
"domainsOfInterest": {
"any-other-domain.com": {
"cookies": {
"example": "value",
"comment": "This will be available when you fill a list of Domains Of Interest in the template itself or via domainsOfInterest parameter in the task object"
},
"localStorage": {
"example": "localStorage value"
},
"url": "https://any-other-domain.com/some/path",
"domain": "any-other-domain.com"
}
},
"screenshots": [],
"requestHeaders": [],
"responseHeaders": []
},
"cost": "0.00858",
"ip": "5.25.11.114",
"createTime": 1637841143,
"endTime": 1637841189,
"solveCount": 0
}