เมนูเอกสาร

RecaptchaV2Task: แก้ปริศนา Google Recaptcha โดยใช้พร็อกซี่

ใช้งานประเภทนี้เพื่อแก้ Recaptcha ในบริการของ Google ในกรณีอื่นๆ ให้ใช้ RecaptchaV2TaskProxyless เพื่อแก้ Recaptcha ในโหมดไม่ใช่พร็อกซี่ (proxy-off) Google API จะไม่เปิดเผยที่อยู่ IP ของผู้แก้ไขแก่เจ้าของเว็บไซต์

ระบบของเราสร้างขึ้นในลักษณะที่เบราว์เซอร์ของคนงานไม่มีสิทธิ์เข้าถึงพร็อกซี่เซิร์ฟเวอร์ของคุณได้ ข้อมูลนี้จะเก็บไว้บนเซิร์ฟเวอร์ของเราและจะลบออกทันทีหลังจากเสร็จสิ้นงาน คอมพิวเตอร์ของคนงานโต้ตอบกับเซิร์ฟเวอร์ของเราเท่านั้น พร็อกซี่ของคุณเข้าถึงได้จากที่อยู่ IP เดียวเท่านั้น โปรดดูข้อมูลเพิ่มเติมในส่วนคำถามที่พบบ่อยนี้

ก่อนดำเนินการงานประเภทนี้ ตัวตรวจสอบพร็อกซี่ของเราอาจทดสอบความเข้ากันได้ของพร็อกซี่ของคุณ โดยการส่งคำขอทดสอบหลายชุด หากคำขอทดสอบนี้ล้มเหลว งานของคุณจะทำเครื่องหมาย ERROR_PROXY_CONNECT_TIMEOUT หรือข้อผิดพลาดที่คล้ายกัน และจะมีการยกเลิก ระหว่างขั้นตอนการแก้ไข พร็อกซี่ของคุณอาจล้มเหลวและ API ของเราจะสร้างข้อผิดพลาดพร็อกซีอื่นๆ โปรดดูที่คำถามที่พบบ่อยเกี่ยวกับพร็อกซี่เพื่อเรียนรู้เพิ่มเติม

ตัวอย่าง 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 สตริง ใช่ User-Agent ของเบราว์เซอร์ที่ใช้ในการจำลอง คุณต้องใช้ลายเซ็นของเบราว์เซอร์รุ่นใหม่ ไม่เช่นนั้น Google จะขอให้คุณ "อัปเดตเบราว์เซอร์ของคุณ"
cookies สตริง ไม่ คุกกี้เพิ่มเติมที่เราควรใช้บนโดเมน 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 อาเรย์ อาร์เรย์ของคุกกี้ที่เป็นทางเลือกซึ่งใช้สำหรับการแก้ 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"
}