Уведомление об использовании файлов cookie

Этот сайт использует cookie. Файлы cookie запоминают вас, поэтому мы можем предоставить вам персонализированные услуги. Подробнее.

Логотип «GitHub»

reCAPTCHA V2

reCAPTCHA V2 widget

Основанный на токенах метод автоматического решения reCAPTCHA V2.

Полученный токен может быть отправлен на целевой веб-сайт внутри поля формы g-recaptcha-response или передан функции обратного вызова.

Типы задач

  • RecaptchaV2TaskProxyless - Подходит для большинства случаев. Мы используем собственный пул прокси-серверов для решения капч
  • RecaptchaV2Task - Используется в случаях, когда требуется использовать одинаковый IP-адрес. Например в сервисах Google, таких как Google Search, YouTube и т.д. Плохие прокси-серверы резко снизят вероятность успеха и увеличат время решения капчи.

Спецификация для типа задачи RecaptchaV2TaskProxyless

Свойство Тип Обязателен Описание
type Строка Да Тип задачи:
RecaptchaV2TaskProxyless
RecaptchaV2Task
websiteURL Строка Да Полный URL-адрес целевой веб-страницы, на которую загружается капча. Мы не открываем страницу, это не проблема, если страница доступна только для авторизованных пользователей
websiteKey Строка Да reCAPTCHA sitekey. Свойство data-sitekey для reCAPTCHA, которое можно найти внутри элемента div или внутри параметра k запросов к reCAPTHCHA API. Вы также можете использовать script, чтобы найти значение sitekey.
recaptchaDataSValue Строка Нет Значение параметра data-s. Может потребоваться для обхода капчи в сервисах Google.
isInvisible Логический Нет Укажите значение true для невидимой версии reCAPTCHA. Невидимая версия reCAPTCHA, это когда вы не видите флажок, но капча появляется на странице. В основном используется вместе с функцией обратного вызова.
userAgent Строка Нет User-Agent браузера, который будет использован пользователем при загрузке капчи. Важно использовать значения User-Agent только современных браузеров.
cookies Строка Нет Переданные вами cookie будут установлены в браузере нашего работника. Часто используется для решения капчи в сервисах Google. Формат передачи cookies: key1=val1; key2=val2.
apiDomain Строка Нет Домен, с которого загружается reCAPTCHA: recaptcha.net или google.com. По умолчанию используется google.com.

Спецификация для типа задачи RecaptchaV2Task

Задача RecaptchaV2Task расширяет RecaptchaV2TaskProxyless, добавляя набор параметров, связанных с прокси, перечисленных ниже. Задача RecaptchaV2Task предназначена для решения капчи используя ваш прокси сервер.

Свойство Тип Обязателен Описание
proxyType Строка Да Тип прокси:
http
socks4
socks5
proxyAddress Строка Да IP-адрес прокси-сервера или имя хоста
proxyPort Целое число Да Порт прокси-сервера
proxyLogin Строка Нет Логин используемый для аунтефикации на прокси-сервере
proxyPassword Строка Нет Пароль используемый для аунтефикации на прокси-сервере

Примеры запросов

Метод: createTask
Конечная точка API: https://api.2captcha.com/createTask

RecaptchaV2TaskProxyless

{
    "clientKey":"YOUR_API_KEY",
    "task": {
        "type":"RecaptchaV2TaskProxyless",
        "websiteURL":"https://2captcha.com/demo/recaptcha-v2",
        "websiteKey":"6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u",
        "isInvisible":false
    },
    "softId": "3898",
    "callbackUrl": "https://1.2.3.4/webhooks/captcha"
}

RecaptchaV2Task

{
    "clientKey":"YOUR_API_KEY",
    "task": {
        "type":"RecaptchaV2Task",
        "websiteURL":"https://2captcha.com/demo/recaptcha-v2",
        "websiteKey":"6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u",
        "isInvisible":false,
        "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
        "cookies":"foo=bar; baz=1",
        "proxyType":"http",
        "proxyAddress":"1.2.3.4",
        "proxyPort":"8080",
        "proxyLogin":"user23",
        "proxyPassword":"p4$w0rd"
    },
    "softId": "3898",
    "callbackUrl": "https://1.2.3.4/webhooks/captcha"
}

Пример ответа

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "gRecaptchaResponse": "03ADUVZw...UWxTAe6ncIa",
        "token": "03ADUVZw...UWxTAe6ncIa"
    },
    "cost": "0.00299",
    "ip": "1.2.3.4",
    "createTime": 1692863536,
    "endTime": 1692863556,
    "solveCount": 1
}

Примеры кода

// https://github.com/2captcha/2captcha-php

require(__DIR__ . '/../src/autoloader.php');

$solver = new \TwoCaptcha\TwoCaptcha('YOUR_API_KEY');

try {
    $result = $solver->recaptcha([
        'sitekey' => '6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u',
        'url'     => 'https://2captcha.com/demo/recaptcha-v2',
    ]);
} catch (\Exception $e) {
    die($e->getMessage());
}

die('Captcha solved: ' . $result->code);
# https://github.com/2captcha/2captcha-python

import sys
import os

sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))

from twocaptcha import TwoCaptcha

api_key = os.getenv('APIKEY_2CAPTCHA', 'YOUR_API_KEY')

solver = TwoCaptcha(api_key)

try:
    result = solver.recaptcha(
        sitekey='6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u',
        url='https://2captcha.com/demo/recaptcha-v2')

except Exception as e:
    sys.exit(e)

else:
    sys.exit('solved: ' + str(result))
// https://github.com/2captcha/2captcha-csharp

using System;
using System.Linq;
using TwoCaptcha.Captcha;

namespace TwoCaptcha.Examples
{
    public class reCAPTCHAV2Example
    {
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
            ReCaptcha captcha = new ReCaptcha();
            captcha.SetSiteKey("6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u");
            captcha.SetUrl("https://2captcha.com/demo/recaptcha-v2");
            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
    }
}
// https://github.com/2captcha/2captcha-java

package examples;

import com.twocaptcha.TwoCaptcha;
import com.twocaptcha.captcha.reCAPTCHA;

public class reCAPTCHAV2Example {
    public static void main(String[] args) {
        TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
        ReCaptcha captcha = new ReCaptcha();
        captcha.setSiteKey("6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u");
        captcha.setUrl("https://2captcha.com/demo/recaptcha-v2");
        try {
            solver.solve(captcha);
            System.out.println("Captcha solved: " + captcha.getCode());
        } catch (Exception e) {
            System.out.println("Error occurred: " + e.getMessage());
        }
    }

}
// https://github.com/2captcha/2captcha-go

package main

import (
    "fmt"
    "log"
    "github.com/2captcha/2captcha-go"
)

func main() {
    client := api2captcha.NewClient("API_KEY")
    cap := api2captcha.ReCaptcha{
        SiteKey: "6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u",
        Url: "https://2captcha.com/demo/recaptcha-v2",
    } 
    code, err := client.Solve(cap.ToRequest())
    if err != nil {
        log.Fatal(err);
    }
    fmt.Println("code "+code)
}
# https://github.com/2captcha/2captcha-ruby

require 'api_2captcha'

client =  Api2Captcha.new("YOUR_API_KEY")

result = client.recaptcha_v2({
  googlekey: '6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u',
  pageurl: 'https://2captcha.com/demo/recaptcha-v2'
})

Полезные ссылки