Jenis tugas yang didukung
Metode API
Artikel
Tutorial
GitHub
Menu dokumentasi

FunCaptchaTask: lewati captcha Arkose Labs (alias Funcaptcha) dengan proxy

Jenis tugas ini menyelesaikan puzzle arkoselabs.com di browser pekerja kami. Aplikasi Anda mengirimkan alamat situs web dan kunci publik, serta menerima token setelah tugas diseleasikan. Gunakan token ini untuk mengirimkan formulir dengan captcha Arkoselabs.

Contoh

Objek tugas

Properti Jenis Wajib Tujuan
type String Ya FunCaptchaTask
websiteURL String Ya Alamat halaman web target. Dapat berada di mana pun di situs web, bahkan di area anggota. Pekerja kami tidak menjelajahinya, tetapi menyimulasikan kunjungan.
websitePublicKey String Ya Kunci publik Arkose Labs
funcaptchaApiJSSubdomain String Tidak Subdomain Arkose Labs kustom dari mana widget JavaScript dimuat. Dibutuhkan untuk beberapa kasus, tetapi sebagian besar integrasi Arkose Labs berjalan tanpanya.
data String Tidak Parameter tambahan yang mungkin dibutuhkan oleh penerapan Arkose Labs. Gunakan properti ini untuk mengirimkan nilai "blob" sebagai objek yang dikonversi ke string. Lihat contoh tampilannya.
{"\blob\":\"HERE_COMES_THE_blob_VALUE\"}
proxyType String Ya Jenis proxy
http - proxy http/https biasa
socks4 - proxy socks4
socks5 - proxy socks5
proxyAddress String Ya Alamat IP proxy IPv4/IPv6. Tidak ada nama host atau alamat IP dari jaringan lokal.
proxyPort Integer Ya Port proxy
proxyLogin String Tidak Log masuk untuk proxy yang membutuhkan otorisasi (dasar)
proxyPassword String Tidak Kata sandi proxy
userAgent String Ya User-agent browser yang digunakan dalam emulasi. Anda harus menggunakan tanda tangan browser modern. Jika tidak, Google akan meminta Anda untuk "memperbarui browser".

Contoh permintaan

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY_HERE",
    "task":
        {
            "type":"FunCaptchaTask",
            "websiteURL":"http://mywebsite.com/recaptcha/test.php",
            "funcaptchaApiJSSubdomain":"optional-api-subdomain-here.arkoselabs.com",
            "data": "{\"blob\":\"dyXvXANMbHj1iDyz.Qj97JtSqR2n%2BuoY1V%2FbdgbrG7p%2FmKiqdU9AwJ6MifEt0np4vfYn6TTJDJEfZDlcz9Q1XMn9przeOV%2FCr2%2FIpi%2FC1s%3D\"}",
            "websitePublicKey":"DE0B0BB7-1EE4-4D70-1853-31B835D4506B",
            "proxyType":"http",
            "proxyAddress":"8.8.8.8",
            "proxyPort":8080,
            "proxyLogin":"proxyLoginHere",
            "proxyPassword":"proxyPasswordHere",
            "userAgent":"MODERN_USER_AGENT_HERE"
        },
    "softId": 0
}' https://api.anti-captcha.com/createTask
        
PHP
          <?php

//git clone https://git.anti-captcha.com/sup/anticaptcha-php.git

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

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

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

//target website address
$api->setWebsiteURL("http://mywebsite.com/funcaptcha/");

//recaptcha key from target website
$api->setWebsitePublicKey("3B24C078-2DF1-771D-913A-11F824CD5A7C");

//optional Arkose Labs API subdomain, see our documentation for details
//$api->setJSSubdomain("custom-api.arkoselabs.com");

//optional data[blob] value
//$api->setDataBlob("DATA_BLOB_VALUE_HERE");

//proxy access parameters
$api->setProxyType("http");
$api->setProxyAddress("8.8.8.8");
$api->setProxyPort(8080);
//optional login and password
$api->setProxyLogin("theLogin");
$api->setProxyPassword("thePassword");

//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 "your arkose labs token: $gResponse\n\n";

}
        
Python
          #pip3 install anticaptchaofficial

from anticaptchaofficial.funcaptchaproxyon import *

solver = funcaptchaProxyon()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX")

# optional funcaptcha API subdomain, see our Funcaptcha documentation for details
# solver.set_js_api_domain("custom-api-subdomain.arkoselabs.com")

# optional data[blob] value, read the docs
# solver.set_data_blob("{\"blob\":\"DATA_BLOB_VALUE_HERE\"}")

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")

# 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)

token = solver.solve_and_return_solution()
if token != 0:
    print "result token: "+token
else:
    print "task finished with error "+solver.error_code
        
NodeJS
          //npm install @antiadmin/anticaptchaofficial
//https://git.anti-captcha.com/sup/anticaptcha-npm

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

ac.setAPIKey('YOUR_API_KEY_HERE');

//optional, but often required:
ac.settings.funcaptchaApiJSSubdomain = 'custom-api.arkoselabs.com';
ac.settings.funcaptchaDataBlob = 'DATA[BLOB]_HERE';

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

//solve and receive token
ac.solveFunCaptchaProxyOn('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(token => {
        console.log('response: '+token);
    })
    .catch(error => console.log('test received error '+error));
        
C#
          //git clone https://git.anti-captcha.com/sup/anticaptcha-csharp.git

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 FunCaptcha
            {
                ClientKey = "YOUR_API_KEY_HERE",
                WebsiteUrl = new Uri("http://http.myjino.ru/funcaptcha_test/"),
                WebsitePublicKey = "DE0B0BB7-1EE4-4D70-1853-31B835D4506B",
                UserAgent =
                    "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
                ProxyType = AnticaptchaBase.ProxyTypeOption.Http,
                ProxyAddress = "xx.xx.xx.xx",
                ProxyPort = 8282,
                ProxyLogin = "123",
                ProxyPassword = "456",
                // 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().Token, DebugHelper.Type.Success);

        }
    }
}

        
Java
          //git clone https://git.anti-captcha.com/sup/anticaptcha-java.git

package com.anti_captcha;

import com.anti_captcha.Api.FunCaptcha;
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);

        FunCaptcha api = new FunCaptcha();
        api.setClientKey("YOUR_API_KEY_HERE");
        api.setWebsiteUrl(new URL("http://mywebsite.com/funcaptcha/"));
        api.setWebsitePublicKey("3B24C078-2DF1-771D-913A-11F824CD5A7C");
        api.setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116");

        //optional parameters, read the docs, be careful!
        api.setApiSubdomain("custom-domain-api.arkoselabs.com");
        api.setDataBlob("{\"blob\":\"DATA_BLOB_VALUE_HERE\"}");

        // proxy access parameters
        api.setProxyType(NoCaptcha.ProxyTypeOption.HTTP);
        api.setProxyAddress("8.8.8.8");
        api.setProxyPort(8080);
        api.setProxyLogin("theLogin");
        api.setProxyPassword("thePassword");

        //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 token: " + api.getTaskSolution().getToken(), DebugHelper.Type.SUCCESS);
        }

    }

}

        

Contoh respons

JSON tanpa kesalahan
          {
    "errorId": 0,
    "taskId": 7654321
}
        
JSON dengan kesalahan
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

Contoh respons

JSON tanpa kesalahan
          {
    "errorId": 0,
    "taskId": 7654321
}
        
JSON dengan kesalahan
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

Dapatkan solusi

Gunakan metode getTaskResult untuk meminta solusi. Berikan waktu pada pekerja, sekitar 5 detik, sebelum membuat permintaan pertama. Jika pekerja masih sibuk, ulangi dalam 3 detik.

Objek solusi tugas

Properti Jenis Tujuan
token String String token yang dibutuhkan untuk berinteraksi dengan formulir pengiriman di situs web target.

Contoh respons

JSON tanpa kesalahan
          {
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "token":"14160cdbe84b28cd5.8020398501|r=us-east-1|metabgclr=%23ffffff|maintxtclr=%231B1B1B|mainbgclr=%23ffffff|guitextcolor=%23747474|metaiconclr=%23757575|meta=7|pk=B7D8911C-5CC8-A9A3-35B0-554ACEE604DA|at=40|ag=101|cdn_url=https%3A%2F%2Ffuncaptcha.com%2Fcdn%2Ffc|lurl=https%3A%2F%2Faudio-us-east-1.arkoselabs.com|surl=https%3A%2F%2Ffuncaptcha.com"
    },
    "cost":"0.001500",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}