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

RecaptchaV2Task: вирішити завдання Google Recaptcha з вашим проксі

Використовуйте цей тип завдання для розв’язання Recaptcha у сервісах Google. У всіх інших випадках використовуйте RecaptchaV2TaskProxyless, щоб розв’язати Recaptcha у режимі вимкнення проксі-сервера. Google API не розкриває IP-адресу вирішувача власнику веб-сайту.

Наша система побудована таким чином, що браузер працівника не має доступу до ваших проксі-серверів. Ці дані зберігаються на нашому сервері та видаляються відразу після завершення завдання. Комп’ютер працівника взаємодіє лише з нашими серверами. Доступ до вашого проксі доступний лише з однієї IP-адреси. Більше інформації в цьому розділі поширених запитань.

Перед виконанням цього типу завдань наш проксі-чекер може протестувати ваш проксі на сумісність, зробивши ряд тестових запитів. Якщо цей тестовий запит не пройде, ваше завдання буде позначено ERROR_PROXY_CONNECT_TIMEOUT або подібною помилкою та буде скасовано. Під час процесу вирішення ваш проксі також може відмовити, і наш API видасть інші помилки проксі. Будь ласка, зверніться до розділу FAQ стосовно теми проксі, щоб дізнатися більше.

Приклад Recaptcha V2

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

Властивість Тип Обов’язково Призначення
type Рядок Так RecaptchaV2Task
Попередня назва завдання: 'NoCaptchaTask'. Ми продовжуватимемо підтримувати стару назву завдання назавжди, не потрібно оновлювати ваш код.
websiteURL Рядок Так Адреса цільової веб-сторінки. Може бути розміщена де завгодно на веб-сайті, навіть у клієнтській області. Наші працівники не переходять туди, а замість цього імітують відвідування.
websiteKey Рядок Так Ключ веб-сайту Recaptcha. Дізнайтеся, як його знайти, у цій статті.
recaptchaDataSValue Рядок Ні Значення параметра 'data-s'. Застосовується лише для Recaptcha на веб-сайтах Google.
proxyType Рядок Так Тип проксі-сервера
http - звичайний http/https проксі-сервер
socks4 - проксі-сервер socks4
socks5 - проксі-сервер socks5
proxyAddress Рядок Так IP-адреса проксі-сервера ipv4/ipv6. Немає імен хостів або IP-адрес з локальних мереж.
proxyPort Цілочисельний Так Проксі-порт
proxyLogin Рядок Ні Вхід для проксі-сервера, який вимагає авторизації (базовий)
proxyPassword Рядок Ні Пароль проксі
userAgent Рядок Так Користувацький агент браузера, який використовується для емуляції. Потрібно використовувати підпис сучасного браузера, інакше Google попросить вас "оновити браузер".
cookies Рядок Ні Додаткові файли cookie, які ми повинні використовувати в доменах Google.
isInvisible Логічний Ні Вкажіть, якщо Recaptcha невидима. Це надасть відповідний віджет для наших працівників.

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

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY_HERE",
    "task":
        {
            "type":"RecaptchaV2Task",
            "websiteURL":"http://mywebsite.com/recaptcha/test.php",
            "websiteKey":"6Lc_aCMTAAAAABx7u2N0D1XnVbI_v6ZdbM6rYf16",
            "proxyType":"http",
            "proxyAddress":"8.8.8.8",
            "proxyPort":8080,
            "proxyLogin":"proxyLoginHere",
            "proxyPassword":"proxyPasswordHere",
            "userAgent":"MODERN_USER_AGENT_HERE",
            "cookie":"cookiename1=cookievalue1; cookiename2=cookievalue2"
        },
    "softId": 0
}' https://api.anti-captcha.com/createTask
        
PHP
          <?php

//git clone git@github.com:AdminAnticaptcha/anticaptcha-php.git

include("anticaptcha.php");
include("recaptchaV2.php");

$api = new RecaptchaV2();
$api->setVerboseMode(true);

//your anti-captcha.com account key
$api->setKey("YOUR_API_KEY_HERE");

//target website address
$api->setWebsiteURL("http://makeawebsitehub.com/recaptcha/test.php");

//recaptcha key from target website
$api->setWebsiteKey("6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ");

//optional custom parameter which Google made for their search page Recaptcha v2
//$api->setDataSValue("'data-s' token from Google Search");

//proxy access parameters
// DO NOT USE PURCHASED/RENTED PROXIES ON PROXY SERVICES!!!
// THEY WILL NOT WORK!
// USE ONLY PROXIES YOU INSTALL YOURSELF ON YOUR OWN SERVER OR FAST VPS
// USE PROPER PROXY SOFTWARE LIKE SQUID !
// INSTALLATION INSTRUCTIONS:
// https://docker.anti-captcha.com/apidoc/articles/how-to-install-squid
$api->setProxyType("http");
$api->setProxyAddress("8.8.8.8");
$api->setProxyPort(1234);
//optional login and password
$api->setProxyLogin("login");
$api->setProxyPassword("password");

//browser header parameters
$api->setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116");

//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
$api->setSoftId(0);

//create task in API
if (!$api->createTask()) {
    $api->debout("API v2 send failed - ".$api->getErrorMessage(), "red");
    return false;
}

$taskId = $api->getTaskId();

//wait in a loop for max 300 seconds till task is solved
if (!$api->waitForResult(300)) {
    echo "could not solve captcha\n";
    echo $api->getErrorMessage()."\n";
} else {

    $gResponse    =   $api->getTaskSolution();
    echo "\n";
    echo "your recaptcha token: $gResponse\n\n";

}
        
Python
          #pip3 install anticaptchaofficial

from anticaptchaofficial.recaptchav2proxyon import *

solver = recaptchaV2Proxyon()
solver.set_verbose(1)
solver.set_key("YOUR_KEY")
solver.set_website_url("https://website.com")
solver.set_website_key("SITE_KEY")
#set optional custom parameter which Google made for their search page Recaptcha v2
#solver.set_data_s('"data-s" token from Google Search results "protection"')

# DO NOT USE PURCHASED/RENTED PROXIES ON PROXY SERVICES!!!
# THEY WILL NOT WORK!
# USE ONLY PROXIES YOU INSTALL YOURSELF ON YOUR OWN SERVER OR FAST VPS
# USE PROPER PROXY SOFTWARE LIKE SQUID !
# INSTALLATION INSTRUCTIONS:
# https://docker.anti-captcha.com/apidoc/articles/how-to-install-squid
solver.set_proxy_address("PROXY_ADDRESS")
solver.set_proxy_port(1234)
solver.set_proxy_login("proxylogin")
solver.set_proxy_password("proxypassword")
solver.set_user_agent("Mozilla/5.0")
solver.set_cookies("test=true")

# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)

g_response = solver.solve_and_return_solution()
if g_response != 0:
    print "g-response: "+g_response
else:
    print "task finished with error "+solver.error_code
        
NodeJS
          //npm -i @antiadmin/anticaptchaofficial
//https://github.com/AdminAnticaptcha/anticaptcha-npm

const ac = require("@antiadmin/anticaptchaofficial");

//set API key
ac.setAPIKey('YOUR_API_KEY_HERE');

//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
ac.setSoftId(0);

//set optional custom parameter which Google made for their search page Recaptcha v2
//ac.settings.recaptchaDataSValue = '"data-s" token from Google Search results "protection"'

ac.solveRecaptchaV2ProxyOn('http://DOMAIN.COM',
    'WEBSITE_KEY',
    'http', //http, socks4, socks5
    'PROXY_ADDRESS',
    'PROXY_PORT',
    'PROXY_LOGIN',
    'PROXY_PASSWORD',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116',
    'some=cookies')
    .then(gresponse => {
        console.log('g-response: '+gresponse);
        console.log('google cookies:');
        console.log(ac.getCookies());
    })
    .catch(error => console.log('test received error '+error));
        
      
C#
          //git clone git@github.com:AdminAnticaptcha/anticaptcha-csharp

using System;
using Anticaptcha_example.Api;
using Anticaptcha_example.Helper;
using Newtonsoft.Json.Linq;

namespace Anticaptcha_example
{
    internal class Program
    {
        private static void Main() {

            DebugHelper.VerboseMode = true;

            var api = new RecaptchaV2
            {
                ClientKey = "YOUR_API_KEY_HERE",
                WebsiteUrl = new Uri("http://makeawebsitehub.com/recaptcha/test.php"),
                WebsiteKey = "6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ",
                ProxyAddress = "xxx.xx.xx.xx",
                ProxyPort = 1234,
                ProxyLogin = "login",
                ProxyPassword = "password",
                UserAgent = "Opera 6.0",
                // Specify softId to earn 10% commission with your app.
                // Get your softId here:
                // https://anti-captcha.com/clients/tools/devcenter
                SoftId = 0
            };

            if (!api.CreateTask())
                DebugHelper.Out("API v2 send failed. " + api.ErrorMessage, DebugHelper.Type.Error);
            else if (!api.WaitForResult())
                DebugHelper.Out("Could not solve the captcha.", DebugHelper.Type.Error);
            else
                DebugHelper.Out("Result: " + api.GetTaskSolution().GRecaptchaResponse, DebugHelper.Type.Success);

        }
    }
}

        
Java
          //git clone git@github.com:AdminAnticaptcha/anticaptcha-java.git

package com.anti_captcha;

import com.anti_captcha.Api.RecaptchaV2;
import com.anti_captcha.Helper.DebugHelper;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.concurrent.ThreadLocalRandom;

public class Main {

    public static void main(String[] args) throws InterruptedException, MalformedURLException, JSONException {

        DebugHelper.setVerboseMode(true);

        RecaptchaV2 api = new RecaptchaV2();
        api.setClientKey("API_KEY_HERE");
        api.setWebsiteUrl(new URL("http://makeawebsitehub.com/recaptcha/test.php"));
        api.setWebsiteKey("6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ");

        api.setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 " +
                        "(KHTML, like Gecko) Chrome/52.0.2743.116");

        // proxy access parameters
        // DO NOT USE PURCHASED/RENTED PROXIES WITH PROXY SERVICES!!!
        // THEY WILL NOT WORK!
        // USE ONLY PROXIES YOU INSTALL YOURSELF ON YOUR OWN SERVER OR FAST VPS
        // USE PROPER PROXY SOFTWARE LIKE SQUID !
        // INSTALLATION INSTRUCTIONS:
        // https://docker.anti-captcha.com/apidoc/articles/how-to-install-squid
        api.setProxyType(NoCaptcha.ProxyTypeOption.HTTP);
        api.setProxyAddress("xx.xxx.xx.xx");
        api.setProxyPort(8282);
        api.setProxyLogin("login");
        api.setProxyPassword("password");

        //Specify softId to earn 10% commission with your app.
        //Get your softId here: https://anti-captcha.com/clients/tools/devcenter
        api.setSoftId(0);

        if (!api.createTask()) {
            DebugHelper.out(
                    "API v2 send failed. " + api.getErrorMessage(),
                    DebugHelper.Type.ERROR
            );
        } else if (!api.waitForResult()) {
            DebugHelper.out("Could not solve the captcha.", DebugHelper.Type.ERROR);
        } else {
            DebugHelper.out("Result: " + api.getTaskSolution().getGRecaptchaResponse(), DebugHelper.Type.SUCCESS);
        }
    }
}

        

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

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

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

Властивість Тип Призначення
gRecaptchaResponse Рядок Рядок токена, який необхідний для відправки форми запиту на цільовому веб-сайті.
cookies Масив Необов’язковий масив файлів cookie, які використовувались для розв’язання Recaptcha. Застосовується лише для доменів і субдоменів google.com.

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

JSON без помилок
          {
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
    },
    "cost":"0.001500",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}