AntiGateTask: оптимальне рішення для обходу будь-якого захисту за допомогою капчі
Це тип завдання, у якому ваш додаток надсилає URL-адресу сторінки та спеціальне завдання для наших працівників. Вони виконують його крок за кроком, а потім повертають у ваш додаток свій повний цифровий відбиток браузера та файли cookie, які можно використовувати для продовження сеансу.
Повний опис технології дивіться у цій статті.
Зверніть увагу, що є необов'язкові параметри проксі. Приймаються тільки HTTPS проксі, "proxyAddress" має бути IP-адресою. Доступ до проксі повинен бути відкритий з усього Інтернету, оскільки працівники спілкуються з ним безпосередньо.
Об'єкт завдання
Властивість | Тип | Обов’язково | Призначення |
---|---|---|---|
type | Рядок | Так | AntiGateTask |
websiteURL | Рядок | Так | Адреса цільової веб-сторінки, на яку буде переміщатися наш працівник. |
templateName | Рядок | Так | Назва шаблону сценарію з нашої бази даних. Ви можете використовувати існуючий шаблон або створити власний. Ви можете знайти існуючий шаблон під цією таблицею. |
variables | Об'єкт | Так | Об’єкт, що містить змінні шаблону та їх значення. |
domainsOfInterest | Масив | Ні | Список доменних імен, де ми повинні збирати файли cookie та дані localStorage. Цей список також можна визначити статично під час редагування шаблону. |
proxyAddress | Рядок | Ні | IP-адреса проксі-сервера ipv4/ipv6. Немає імен хостів або IP-адрес з локальних мереж. |
proxyPort | Цілочисельний | Ні | Проксі-порт |
proxyLogin | Рядок | Ні | Вхід для проксі-сервера, який вимагає авторизації (базовий) |
proxyPassword | Рядок | Ні | Пароль проксі |
Колекція шаблонів
Завдання з проксі
Click "view" button at one of the templates
Завдання без проксі
Click "view" button at one of the templates
Кроки шаблону
Контакти автора
Приклад відповіді
JSON без помилок
{
"errorId": 0,
"taskId": 7654321
}
JSON з помилкою
{
"errorId": 1,
"errorCode": "ERROR_KEY_DOES_NOT_EXIST",
"errorDescription": "Account authorization key not found in the system"
}
Отримати рішення
Запитуйте рішення за допомогою методу getTaskResult. Дайте працівникові трохи часу, наприклад, 5 секунд, перед тим, як зробити перший запит. Якщо працівник все ще зайнятий, повторіть спробу через 3 секунди.
Об’єкт рішення завдання
Властивість | Тип | Призначення |
---|---|---|
cookies | Об'єкт | Об’єкт із файлами cookie, захоплений на останній сторінці, яку відвідав працівник. |
localStorage | Об'єкт | Подібно до файлів cookie, об’єкт зі значеннями localStorage захоплений на останній сторінці. |
fingerprint | Об'єкт | Параметри цифрового відбитку браузера. Використовуйте їх разом із файлами cookie та localStorage, щоб відтворити сеанс робочого браузера у вашому програмному забезпеченні. |
url | Рядок | URL сторінки, на якій було завершено виконання шаблону |
domain | Рядок | Доменне ім'я кінцевої сторінки |
HTMLsInBase64 | Масив | Масив знімків HTML областей сторінки, закодованих у base64. Знімки робляться за кроками "TAKE_HTML_SNAPSHOT_BY_SELECTOR" у шаблонах AntiGate. |
screenshots | Масив | Скріншоти з браузера працівника, якщо такі є. Для замовлення скріншотів додайте в шаблон крок TAKE_SCREENSHOT. |
requestHeaders | Масив | Отримати заголовки запитів від "доменів, що цікавлять", якщо такі є. Щоб замовити заголовки, включіть в шаблоні опцію "Збирати заголовки HTTP-запитів від доменів, що цікавлять" |
responseHeaders | Масив | заголовки відповідей від "доменів, що цікавлять", якщо такі є. Щоб замовити заголовки, включіть в шаблоні опцію "Збирати заголовки HTTP-відповідей від доменів, що цікавлять" |
Приклад відповіді
JSON без помилок
{
"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
}