AntiGateTask: une solution ultime pour contourner toute protection captcha
Il s'agit d'un type de tâche où votre application fournit une adresse URL de page et une affectation personnalisée pour nos travailleurs. Ils le complètent étape par étape, puis renvoient leur empreinte de navigateur complète et leurs cookies à votre application, ce qu'elle peut utiliser pour continuer la session.
Pour la description complète de la technologie, veuillez vous référer à cet article.
Notez que les paramètres du proxy sont facultatifs. Seuls les proxys HTTPS sont acceptés, "proxyAddress" doit être une adresse IP. L'accès au proxy doit être ouvert depuis tout l'Internet, car les travailleurs communiquent directement avec eux.
Objet de tâche
Propriété | Type | Obligatoire | Objectif |
---|---|---|---|
type | String | Yes | AntiGateTask |
websiteURL | String | Yes | Adresse d'une page Web cible où notre travailleur naviguera. |
templateName | String | Yes | Nom d'un modèle de scénario de notre base de données. Vous pouvez utiliser un modèle existant ou créer le vôtre. Vous pouvez rechercher un modèle existant sous ce tableau. |
variables | Object | Yes | Un objet contenant les variables du modèle et leurs valeurs. |
domainsOfInterest | Array | Non | Liste des noms de domaine où nous devons collecter les cookies et les données de localStorage. Cette liste peut également être définie de manière statique lors de l'édition du modèle. |
proxyAddress | String | Non | Adresse IP proxy ipv4/ipv6. Aucun nom d'hôte ou adresse IP des réseaux locaux. |
proxyPort | Integer | Non | Port proxy |
proxyLogin | String | Non | Connexion pour proxy qui nécessite une autorisation (de base) |
proxyPassword | String | Non | Mot de passe proxy |
Collection de modèles
Tâche avec un proxy
Click "view" button at one of the templates
Tâche sans proxy
Click "view" button at one of the templates
Étapes du modèle
Contacts de l'auteur
Exemple de réponse
JSON sans erreurs
{
"errorId": 0,
"taskId": 7654321
}
JSON avec une erreur
{
"errorId": 1,
"errorCode": "ERROR_KEY_DOES_NOT_EXIST",
"errorDescription": "Account authorization key not found in the system"
}
Récupérer la solution
Utilisez la méthode getTaskResult demander la solution. Donnez du temps à un travailleur, par exemple 5 secondes, avant de faire la première demande. Si le travailleur est toujours occupé, réessayez dans 3 secondes.
Objet de solution de tâche
Propriété | Type | Objectif |
---|---|---|
cookies | Object | Un objet avec des cookies saisi sur la dernière page visitée par un travailleur. |
localStorage | Object | Semblable aux cookies, un objet avec des valeurs localStorage saisi à la dernière page. |
fingerprint | Object | Paramètres d'empreinte du navigateur. Utilisez-les avec des cookies et localStorage pour recréer la session de navigateur du travailleur dans votre logiciel. |
url | String | URL de la page où l'exécution du modèle s'est terminée |
domain | String | Nom de domaine de la page finale |
HTMLsInBase64 | Array | Un tableau d'instantanés HTML des zones de la page encodés en base64. Les instantanés sont pris par les étapes "TAKE_HTML_SNAPSHOT_BY_SELECTOR" dans les modèles AntiGate. |
screenshots | Array | Captures d'écran réalisées à partir du navigateur du travailleur, le cas échéant. Pour commander des captures d'écran, ajoutez l'étape TAKE_SCREENSHOT à votre modèle. |
requestHeaders | Array | Demandez les en-têtes de "domainsOfInterest", s'il y en a. Pour commander les en-têtes, activez l'option "Collecter les en-têtes HTTP des domaines d'intérêt" dans votre modèle. |
responseHeaders | Array | En-têtes de réponse de "domainsOfInterest", le cas échéant. Pour ordonner les en-têtes, activez l'option "Collecter les en-têtes HTTP de réponse des domaines d'intérêt" dans votre modèle. |
Exemple de réponse
JSON sans erreurs
{
"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
}