Логотип «GitHub»

KeyCAPTCHA

KeyCAPTCHA widget

Основанный на токенах метод обхода KeyCAPTCHA.

Типы задач

  • KeyCaptchaTaskProxyless - мы используем собственный пул прокси-серверов для решения капч
  • KeyCaptchaTask - мы используем переданный вами прокси

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

Свойство Тип Обязателен Описание
type Строка Да Тип задачи:
KeyCaptchaTaskProxyless
KeyCaptchaTask
websiteURL Строка Да Полный URL-адрес целевой веб-страницы, на которую загружается капча. Мы не открываем страницу, это не проблема, если страница доступна только для авторизованных пользователей
s_s_c_user_id Строка Да Значение параметра s_s_c_user_id найденное на странице
s_s_c_session_id Строка Да Значение параметра s_s_c_session_id найденное на странице
s_s_c_web_server_sign Строка Да Значение параметра s_s_c_web_server_sign найденное на странице
s_s_c_web_server_sign2 Строка Да Значение параметра s_s_c_web_server_sign2 найденное на странице

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

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

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

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

Метод: createTask
Эндпоинт API: https://api.2captcha.com/createTask

KeyCaptchaTaskProxyless

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "KeyCaptchaTaskProxyless",
    "s_s_c_user_id": 10,
    "s_s_c_session_id": "493e52c37c10c2bcdf4a00cbc9ccd1e8",
    "s_s_c_web_server_sign": "9006dc725760858e4c0715b835472f22-pz-",
    "s_s_c_web_server_sign2": "2ca3abe86d90c6142d5571db98af6714",
    "websiteURL": "https://2captcha.com/demo/keycaptcha"
  }
}

KeyCaptchaTask

{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "KeyCaptchaTask",
        "s_s_c_user_id": 184015,
        "s_s_c_session_id": "80f5f77b8b396b6cb6ea59cf22c38c55",
        "s_s_c_web_server_sign": "418910f3da05d4e3125030e4f9c95d42",
        "s_s_c_web_server_sign2": "118b538926cf9aafc48926bcaccf4c0e",
        "websiteURL": "https://2captcha.com/demo/keycaptcha",
        "proxyType": "http",
        "proxyAddress": "1.2.3.4",
        "proxyPort": "8080",
        "proxyLogin": "user23",
        "proxyPassword": "p4$w0rd"
    }
}

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

Метод: getTaskResult
Эндпоинт API: https://api.2captcha.com/getTaskResult

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "token": "84f42ee334f6bd760b8be3b2b...492598266d7a2418511776505f79|1"
    },
    "cost": "0.00299",
    "ip": "1.2.3.4",
    "createTime": 1692863536,
    "endTime": 1692863556,
    "solveCount": 0
}

Примеры кода

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

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

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

try {
    $result = $solver->keycaptcha([
        's_s_c_user_id'          => 184015,
        's_s_c_session_id'       => '9ff29e0176e78eb7ba59314f92dbac1b',
        's_s_c_web_server_sign'  => '964635241a3e5e76980f2572e5f63452',
        's_s_c_web_server_sign2' => '3ca802a38ffc5831fa293ac2819b1204',
        'url'                    => 'https://2captcha.com/demo/keycaptcha',
    ]);
} 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.keycaptcha(
        s_s_c_user_id=184015,
        s_s_c_session_id='9ff29e0176e78eb7ba59314f92dbac1b',
        s_s_c_web_server_sign='964635241a3e5e76980f2572e5f63452',
        s_s_c_web_server_sign2='3ca802a38ffc5831fa293ac2819b1204',
        url='https://2captcha.com/demo/keycaptcha')

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 KeyCaptchaExample
    {
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
            KeyCaptcha captcha = new KeyCaptcha();
            captcha.SetUserId(184015);
            captcha.SetSessionId("9ff29e0176e78eb7ba59314f92dbac1b");
            captcha.SetWebServerSign("964635241a3e5e76980f2572e5f63452");
            captcha.SetWebServerSign2("3ca802a38ffc5831fa293ac2819b1204");
            captcha.SetUrl("https://2captcha.com/demo/keycaptcha");
            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.KeyCaptcha;

public class KeyCaptchaExample {
    public static void main(String[] args) {
        TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
        KeyCaptcha captcha = new KeyCaptcha();
        captcha.setUserId(184015);
        captcha.setSessionId("9ff29e0176e78eb7ba59314f92dbac1b");
        captcha.setWebServerSign("964635241a3e5e76980f2572e5f63452");
        captcha.setWebServerSign2("3ca802a38ffc5831fa293ac2819b1204");
        captcha.setUrl("https://2captcha.com/demo/keycaptcha");
        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")
    captcha := api2captcha.KeyCaptcha{
        UserId: 184015,
        SessionId: "9ff29e0176e78eb7ba59314f92dbac1b",
        WebServerSign: "964635241a3e5e76980f2572e5f63452",
        WebServerSign2: "3ca802a38ffc5831fa293ac2819b1204",
        Url: "https://2captcha.com/demo/keycaptcha",   
    }
    code, err := client.Solve(captcha.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.keycaptcha({
  s_s_c_user_id: 184015,
  s_s_c_session_id: '9ff29e0176e78eb7ba59314f92dbac1b',
  s_s_c_web_server_sign: '964635241a3e5e76980f2572e5f63452-pz-',
  s_s_c_web_server_sign2: '3ca802a38ffc5831fa293ac2819b1204',
  pageurl: 'https://2captcha.com/demo/keycaptcha'
})

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