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

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

Логотип «GitHub»

Arkose Labs CAPTCHA

Arkose Labs FunCaptcha

Основанный на токенах метод автоматического решения капчи ArkoseLabs (ранее FunCaptcha).

Типы задач

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

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

Свойство Тип Обязателен Описание
type Строка Да Тип задачи:
FunCaptchaTaskProxyless
FunCaptchaTask
websiteURL Строка Да Полный URL-адрес целевой веб-страницы, на которую загружается капча. Мы не открываем страницу, это не проблема, если страница доступна только для авторизованных пользователей
websitePublicKey Строка Да Публичный ключ ArkoseLabs CAPTCHA. Публичный ключ можно найти в значении параметра data-pkey у div с FunCaptcha или же найти элемент с именем (name) fc-token, а из его значения вырезать ключ, который указан после pk.
funcaptchaApiJSSubdomain Строка Нет Пользовательский поддомен, используемый для загрузки виджета captcha, например: sample-api.arkoselabs.com
data Строка Нет Дополнительный объект полезной нагрузки данных преобразован в строку с помощью JSON.stringify. Пример: {\"blob\":\"BLOB_DATA_VALUE\"}
userAgent Строка Нет User-Agent браузера, который будет использован пользователем при загрузке капчи. Важно использовать значения User-Agent только современных браузеров.

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

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

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

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

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

FunCaptchaTaskProxyless

{
    "clientKey":"YOUR_API_KEY",
    "task": {
        "type":"FunCaptchaTaskProxyless",
        "websiteURL":"https://www.example.com",
        "websitePublicKey":"6220FF23-9856-3A6F-9FF1-A14F88123F55",
        "funcaptchaApiJSSubdomain":"client-api.arkoselabs.com",
        "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
    },
    "softId": "3898",
    "callbackUrl": "https://1.2.3.4/webhooks/captcha"
}

FunCaptchaTask

{
    "clientKey":"YOUR_API_KEY",
    "task": {
        "type":"FunCaptchaTaskProxyless",
        "websiteURL":"https://www.example.com",
        "websitePublicKey":"6220FF23-9856-3A6F-9FF1-A14F88123F55",
        "funcaptchaApiJSSubdomain":"client-api.arkoselabs.com",
        "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
        "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": {
        "token": "142000f7f4545ca36.6123911001|r=us-beast-1|meta=3|metabgclr=%23ffffff|metaiconclr=%23757575|guitextcolor=%23000000|pk=6220FF23-9856-3A6F-9FF1-A14F88123F55|dc=1|at=40|ag=101|cdn_url=https%3A%2F%2Fsuncaptcha.com%2Fcdn%2Ffc|lurl=https%3A%2F%2Faudio-us-beast-1.arkoselabs.com|surl=https%3A%2F%2Fsuncaptcha.com|smurl=https%3A%2F%2Fsuncaptcha.com%2Fcdn%2Ffc%2Fassets%2Fstyle-manager"
    },
    "cost": "0.002",
    "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->funcaptcha([
        'sitekey' => '6220FF23-9856-3A6F-9FF1-A14F88123F55',
        'url'     => 'https://www.example.com',
        'surl'      => 'https://client-api.arkoselabs.com',
    ]);
} catch (\Exception $e) {
    die($e->getMessage());
}

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

# 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 = 'YOUR_API_KEY'

solver = TwoCaptcha(api_key)

try:
    result = solver.funcaptcha(sitekey='6220FF23-9856-3A6F-9FF1-A14F88123F55',
                              url='https://www.example.com',
                              surl='https://client-api.arkoselabs.com')

except Exception as e:
    sys.exit(e)

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

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

namespace TwoCaptcha.Examples
{
    public class FunCaptchaExample
    {
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
            FunCaptcha captcha = new FunCaptcha();
            captcha.SetSiteKey("6220FF23-9856-3A6F-9FF1-A14F88123F55");
            captcha.SetUrl("https://www.example.com");
            captcha.SetSUrl("https://client-api.arkoselabs.com");
            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
    }
}
</div>

<div id="java-code-example" data-component="TabPanel">

```java
// https://github.com/2captcha/2captcha-java

package examples;

import com.twocaptcha.TwoCaptcha;
import com.twocaptcha.captcha.FunCaptcha;

public class FunCaptchaExample {
    public static void main(String[] args) {
        TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
        FunCaptcha captcha = new FunCaptcha();
            captcha.SetSiteKey("6220FF23-9856-3A6F-9FF1-A14F88123F55");
            captcha.SetUrl("https://www.example.com");
            captcha.SetSUrl("https://client-api.arkoselabs.com");
        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.FunCaptcha{
    SiteKey: "6220FF23-9856-3A6F-9FF1-A14F88123F55",
    Url: "https://www.example.com",
    Surl: "https://client-api.arkoselabs.com",
    Data: map[string]string{"anyKey":"anyValue"},   
  }
    code, err := client.Solve(cap.ToRequest())
    if err != nil {
        log.Fatal(err);
    }
    fmt.Println("code "+code)
}
require 'api_2captcha'

client =  Api2Captcha.new("YOUR_API_KEY")

result = client.funcaptcha({
publickey: "6220FF23-9856-3A6F-9FF1-A14F88123F55",
pageurl: "https://www.example.com",
surl: "https://client-api.arkoselabs.com"
})

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