Меню документації

GeeTestTaskProxyless: вирішити captcha від geetest.com без проксі

Цей тип завдань вирішує капчу GeeTest в браузері наших працівників. Ваш додаток надсилає адресу веб-сайту, ключ gt, ключ виклику і після завершення завдання отримує рішення, що складається з 3 токенів.

Все схоже на GeeTestTask, за винятком того, що нам не потрібен проксі-сервер, і ми вирішуємо це з власних IP-адрес.

Приклади

Об'єкт завдання

Властивість Тип Обов’язково Призначення
type Рядок Так GeeTestTaskProxyless
websiteURL Рядок Так Адреса цільової веб-сторінки. Може бути розміщена де завгодно на веб-сайті, навіть у клієнтській області. Наші працівники не переходять туди, а замість цього імітують відвідування.
gt Рядок Так Відкритий ключ домену, рідко оновлюється.
challenge Рядок Так Зміна ключа токена. Не забудьте взяти свіжий для кожної капчі, інакше з вас буде стягнено плату за помилкове завдання.
geetestApiServerSubdomain Рядок Ні Необов’язковий субдомен API. Може знадобитися для деяких реалізацій.
geetestGetLib Рядок Ні Потрібно для деяких реалізацій. Надішліть JSON, закодований у рядок. Значення можна простежити за допомогою інструментів розробника браузера. Поставте точку зупинки перед викликом функції "initGeetest".

Приклад запиту

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"GeeTestTaskProxyless",
            "websiteURL":"http://mywebsite.com/geetest/test.php",
            "gt":"874703612e5cac182812a00e273aad0d",
            "challenge":"a559b82bca2c500101a1c8a4f4204742"
        }
}' https://api.anti-captcha.com/createTask
        

Приклад відповіді

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 секунди.

Об’єкт рішення завдання

Властивість Тип Призначення
challenge Рядок Рядок хешу, який необхідний для взаємодії з формою подання на цільовому веб-сайті.
validate Рядок Рядок хешу, який теж необхідний.
seccode Рядок Ще один обов’язковий хеш-рядок, ми не уявляємо, чому їх 3.

Приклад відповіді

JSON без помилок
          {
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "challenge":"3c1c5153aa48011e92883aed820069f3hj",
        "validate":"47ad5a0a6eb98a95b2bcd9e9eecc8272",
        "seccode":"83fa4f2d23005fc91c3a015a1613f803|jordan"
    },
    "cost":"0.001500",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}
        

Приклад використання токена