Обійти будь-яку кастомну капчу
Це тип завдання, у якому ваш додаток надсилає URL-адресу сторінки та спеціальне завдання для наших працівників. Вони виконують його крок за кроком, а потім повертають у ваш додаток свій повний цифровий відбиток браузера та файли cookie, які можно використовувати для продовження сеансу.
Потенційні приклади використання цього типу завдань:
- (Базовий) Перейдіть на сторінку, попросіть працівника розв’язати капчу і натисніть кнопку "Ввести" текст. Завершіть роботу, коли на сторінці буде знайдено вказану фразу.
- (Розширений) Перейдіть на сторінку, заповніть текстові поля власними даними, попросіть працівника розв’язати капчу. Перейдіть на сторінку двофакторної автентифікації, зачекайте, поки код надійде на вашу електронну пошту, надішліть цей код працівнику, працівник автоматично отримає код і увійде в клієнтську область. Завершіть, коли буде знайдено елемент із заданим CSS-селектором.
Показати список доступних дій працівників.
Щоб отримати повний опис технології, перегляньте цю статтю або цей відеоурок на YouTube.
Зверніть увагу, що існують додаткові параметри проксі. Приймаються лише проксі HTTPS, "proxyAddress" має бути IP-адресою.
Об'єкт завдання
Властивість | Тип | Обов’язково | Призначення |
---|---|---|---|
type | Рядок | Так | AntiGateTask |
websiteURL | Рядок | Так | Адреса цільової веб-сторінки, на яку буде переміщатися наш працівник. |
templateName | Рядок | Так | Назва шаблону сценарію з нашої бази даних. Ви можете використовувати існуючий шаблон або створити власний. Ви можете знайти існуючий шаблон під цією таблицею. |
variables | Об'єкт | Так | Об’єкт, що містить змінні шаблону та їх значення. |
domainsOfInterest | Масив | Ні | Список доменних імен, де ми повинні збирати файли cookie та дані localStorage. Цей список також можна визначити статично під час редагування шаблону. |
proxyAddress | Рядок | Так | IP-адреса проксі-сервера ipv4/ipv6. Не допускаються імена хостів або IP-адреси з локальних мереж. |
proxyPort | Цілочисельний | Так | Проксі-порт |
proxyLogin | Рядок | Так | Вхід для проксі-сервера, який вимагає авторизації (базовий) |
proxyPassword | Рядок | Так | Пароль проксі |
Колекція шаблонів
Об’єкт розв’язання завдання
Властивість | Тип | Призначення |
---|---|---|
cookies | Об'єкт | Об’єкт із файлами cookie, захоплений на останній сторінці, яку відвідав працівник. |
localStorage | Об'єкт | Подібно до файлів cookie, об’єкт зі значеннями localStorage, захопленими на останній сторінці. |
sessionStorage | Об'єкт | Подібно до localStorage, об'єкт зі значеннями sessionStorage, захопленими на останній сторінці. На відміну від localStorage, значення зберігаються в пам’яті браузера, доки сторінку не буде закрито. |
fingerprint | Об'єкт | Параметри цифрового відбитку браузера. Використовуйте їх разом із файлами cookie та localStorage, щоб відтворити сеанс робочого браузера у вашому програмному забезпеченні. |
url | Рядок | URL сторінки, на якій було завершено виконання шаблону. |
domain | Рядок | Доменне ім'я кінцевої сторінки |
HTMLsInBase64 | Масив | Масив знімків HTML, зібраних зі сторінок і закодованих у base64. Знімки робляться за кроками "TAKE_HTML_SNAPSHOT_BY_SELECTOR" у шаблонах AntiGate. |
screenshots | Масив | Скріншоти з браузера працівника, якщо такі є. Для замовлення скріншотів додайте в шаблон крок TAKE_SCREENSHOT. |
requestHeaders | Масив | Отримати заголовки запитів від "domainsOfInterest", якщо такі є. Щоб замовити заголовки, включіть в шаблоні опцію "Збирати HTTP-заголовки запитів від доменів, що цікавлять" |
responseHeaders | Масив | Заголовки відповідей від "domainsOfInterest", якщо такі є. Щоб замовити заголовки, включіть в шаблоні опцію "Збирати HTTP-заголовки відповідей від доменів, що цікавлять" |
Приклад відповіді
{
"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
}