أنواع المهام المدعومة
أوامر API
مقالات
قسم الشروحات
GitHub
قائمة الوثائق

RecaptchaV2EnterpriseTaskProxyless: تجاوز جوجل Recaptcha V2 Enterprise باستخدام بروكسي

يصلح هذا النوع من المهام لحل الإصدار الثاني من جوجل Recaptcha Enterprise من عنوان IP الخاص بالموظف.

إنه مشابه لـ RecaptchaV2TaskProxyless، باستثناء المهام التي يتم حلها باستخدام Enterprise API ويتم تعيينها للعاملين الذين حصلوا على أفضل نقاط Recaptcha من الإصدار الثالث. لمزيد من المعلومات حول Recaptcha Enterprise، يرجى زيارة .

مثال على Recaptcha V2 Enterprise. مطابق بصريًا للإصدار غير الخاص بالمؤسسات.

Task object

الخاصية نوع الخاصية الأهمية الوظيفة
type String مطلوبة RecaptchaV2EnterpriseTaskProxyless
websiteURL String مطلوبة عنوان صفحة الويب المستهدفة. يمكن أن يكون موجودًا في أي مكان على موقع الويب، حتى في منطقة المشتركين. عمالنا لا يزورون هذه الصفحات، لكنهم يقوموا بمحاكاة الزيارة.
websiteKey String مطلوبة مفتاح موقع Recaptcha. تعرف على كيفية العثور عليه في هذا المقال.
enterprisePayload Object غير مطلوبة المعاملات الإضافية التي يجب تمريرها إلى طريقة "grecaptcha.enterprise.render" جنبًا إلى جنب مع مفتاح الموقع. مثال على ما يجب أن تبحث عنه:
كود JSON بدون أخطاء
                  grecaptcha.enterprise.render("some-div-id", {
    sitekey: "6Lc_aCMTAAAAABx7u2N0D1XnVbI_v6ZdbM6rYf16",
    theme: "dark",
    s: "2JvUXHNTnZl1Jb6WEvbDyBMzrMTR7oQ78QRhBcG07rk9bpaAaE0LRq1ZeP5NYa0N...ugQA"
});
                
في هذا المثال، يمكنك ملاحظة "المعاملات" التي لم يتم توثيقها، ولكن من الواضح أنها مطلوبة. اِرسلها إلى API، حتى يمكننا استعراض واجهة Recaptcha مع هذا المُعامل بشكل صحيح.
apiDomain String غير مطلوبة استخدم هذه المعلمة لإرسال اسم المجال الذي يجب تقديم البرنامج النصي Recaptcha منه. يمكن أن تحتوي على قيمة واحدة فقط من قيمتين: "www.google.com" أو "www.recaptcha.net". لا تستخدم هذه المعلمة إلا إذا كنت تفهم ما تفعله.

مثال على الطلب

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY_HERE",
    "task":
        {
            "type":"RecaptchaV2EnterpriseTaskProxyless",
            "websiteURL":"http://mywebsite.com/recaptcha/test.php",
            "websiteKey":"6Lc_aCMTAAAAABx7u2N0D1XnVbI_v6ZdbM6rYf16",
            "enterprisePayload": {
                "s": "SOME_ADDITIONAL_TOKEN"
            }
        },
    "softId": 0
}' https://api.anti-captcha.com/createTask
        
PHP
          <?php

//git clone git@github.com:AdminAnticaptcha/anticaptcha-php.git

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

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

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

//target website address
$api->setWebsiteURL("http://enteprisedomain.com/recaptcha/test.php");

//recaptcha key from target website
$api->setWebsiteKey("ENTERPRISE_SITEKEY_HERE");

//optional custom payload for grecaptcha.enterprise.render
$api->setEnterprisePayload(["s" => "TEMPORARY_TOKEN_VALUE"]);

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

}
        
Python
          #pip3 install anticaptchaofficial

from anticaptchaofficial.recaptchav2enterpriseproxyless import *

solver = recaptchaV2EnterpriseProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("YOUR_API_KEY_HERE")
# solver.set_enterprise_payload({"s": "sometoken"})

# 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 install @antiadmin/anticaptchaofficial
//https://github.com/AdminAnticaptcha/anticaptcha-npm

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

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

ac.solveRecaptchaV2EnterpriseProxyless(
    'http://DOMAIN.COM',
    'WEBSITE_KEY',
    {
        "s" : "SOME_TOKEN",
        "any_custom_parameter" : "string_number_or_boolean"
    })
    .then(gresponse => {
        console.log('g-response: '+gresponse);
    })
    .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 RecaptchaV2EnterpriseProxyless
            {
                ClientKey = "YOUR_API_KEY_HERE",
                WebsiteUrl = new Uri("http://makeawebsitehub.com/recaptcha/test.php"),
                WebsiteKey = "6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ",
                // Specify softId to earn 10% commission with your app.
                // Get your softId here:
                // https://anti-captcha.com/clients/tools/devcenter
                SoftId = 0
            };
            api.EnterprisePayload.Add("s", "SOME_UNDOCUMENTED_TOKEN");
            api.EnterprisePayload.Add("blabla", "ANOTHER TOKEN");

            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.RecaptchaV2EnterpriseProxyless;
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);

        RecaptchaV2EnterpriseProxyless api = new RecaptchaV2EnterpriseProxyless();
        api.setClientKey("YOUR_API_KEY_HERE");
        api.setWebsiteUrl(new URL("http://http.myjino.ru/recaptcha/test-get.php"));
        api.setWebsiteKey("6Lc_aCMTAAAAABx7u2W0WPXnVbI_v6ZdbM6rYf16");

        //optional payload, please look for RecaptchaV2Enterprise documentation regarding it
        JSONObject enterprisePayload = new JSONObject();
        try {
            enterprisePayload.put("s", "SOME_UNDOCUMENTED_TOKEN_VALUE");
        } catch (Exception e) {
            DebugHelper.out("JSON error: "+e.getMessage(), DebugHelper.Type.ERROR);
            return;
        }
        api.setEnterprisePayload(enterprisePayload);

        //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 String سلسلة الرمز المميز المطلوب للتفاعل مع نموذج الإرسال على موقع الويب المستهدف.

مثال على الاستجابة

كود 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"
}