قائمة الوثائق

RecaptchaV3TaskProxyless: حل جوجل Recaptcha الإصدار الثالث

هذا النوع من المهام مطلوب لحل Google Recaptcha V3 على كمبيوتر الموظف. سيتم تنفيذ هذه المهمة من خلال خدمتنا باستخدام البروكسي الخاص بنا و / أو عناوين IP الموظفين الخاصة بنا.

يرجى ملاحظة أن هناك فرقا بين recaptcha v2 غير مرئية وإعادة recaptcha v3. أنها تبدو هي نفسها وقد يبدو الأمر مربكًا. هناك طريقة سريعة لتحديد النوع الصحيح: حاول حلها باستخدام API لدينا باسم الإصدار الثاني غير المرئي و الإصدار الثالث. في إحدى المحاولات، ستحصل على خطأ، وفي المحاولة الأخرى ستسير الأمور على ما يرام.

نقوم باختبار عمالنا من أجل "مجموع نقاط" Recaptcha ونصنفهم في (ثلاث قوائم انتظار): 0.3و 0.7و 0.9.قد تختلف كل مجموعة عن الأخرى اختلافًا طفيفًا في التكلفة وفقًا لعدد الموظفين المتفرغين. ومن خلال تشغيل ميزة minScore يمكنك تحديد قائمة الانتظار التي ستصنف مهمتك وتقوم بحلها. معظم الموظفين المتاحين لديهم مجموع نقاط يبلغ 0.3 والفئة الأقل عددًا من الموظفين يبلغ مجموع نقاطهم 0.9

يمكن العثور على مزيد من المعلومات حول Recaptcha V3 في قسم الأسئلة الشائعة من هنا.

مثال على recaptcha v3. عادة ما تحتوي على شعار يوجد في الركن الأيمن السفلي من الصفحة. وعلى الرغم من ذلك، يمكن إزالته بسهولة بواسطة الجافاسكريبت

Task object

الخاصية نوع الخاصية الأهمية الوظيفة
type String مطلوبة RecaptchaV3TaskProxyless
websiteURL String مطلوبة عنوان صفحة الويب المستهدفة. يمكن أن يكون موجودًا في أي مكان على موقع الويب، حتى في منطقة المشتركين. عمالنا لا يزورون هذه الصفحات، لكنهم يقوموا بمحاكاة الزيارة.
websiteKey String مطلوبة مفتاح موقع Recaptcha. تعرف على كيفية العثور عليه في هذا المقال.
minScore Double مطلوبة تقوم هذه الطريقة باختيار الموظفين الذين لديهم مجموعة نقاط معينة. ستتضمن النتيجة أحد النقاط التالية:
0.3
0.7
0.9
pageAction String غير مطلوبة
recaptcha's "إجراء" القيمة. يحدد مالك موقع الويب ما يفعله المستخدم في الصفحة من خلال هذا المعامل.
مثل:

grecaptcha.execute('site_key', {action:'login_test'})
isEnterprise Boolean غير مطلوبة قم بتعيين هذه العلامة إلى "صحيح" إذا كنت بحاجة إلى حل الإصدار الثالث هذا مع Enterprise API. يرجى العلم أن القيمة الافتراضية هي "False" ويتم حل recaptcha مع None-Enterprise API يمكن تحديدها بواسطة استدعاء دالة جافاسكريبت كالمثال التالي:

grecaptcha.enterprise.execute('site_key', {..})
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":"RecaptchaV3TaskProxyless",
            "websiteURL":"http://mywebsite.com/recaptcha/test.php",
            "websiteKey":"6Lc_aCMTAAAAABx7u2N0D1XnVbI_v6ZdbM6rYf16",
            "minScore": 0.3,
            "pageAction": "myverify",
            "isEnterprise": false
        }
}' https://api.anti-captcha.com/createTask
        
PHP
          <?php

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

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

$api = new RecaptchaV3();
$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");

//parameters for V3
//score you would like to have
$api->setMinScore(0.9);
//optional page action
$api->setPageAction("some_action");

//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";

    //check result, then:
    $api->reportCorrectRecaptcha();
    //or
    //$api->reportIncorrectRecaptcha();

}
        
Python
          #pip3 install anticaptchaofficial

from anticaptchaofficial.recaptchav3proxyless import *

solver = recaptchaV3Proxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("SITE_KEY")
solver.set_page_action("home_page")
solver.set_min_score(0.9)

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

ac.setAPIKey('YOUR_API_KEY_HERE');
ac.solveRecaptchaV3('http://DOMAIN.COM',
    'WEBSITE_KEY',
    0.3, //minimum score required: 0.3, 0.7 or 0.9
    'PAGE_ACTION_CAN_BE_EMPTY')
    .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 RecaptchaV3Proxyless
            {
                ClientKey = "YOUR_API_KEY_HERE",
                WebsiteUrl = new Uri("http://makeawebsitehub.com/recaptcha/test.php"),
                WebsiteKey = "6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ",
                PageAction = "login_or_register",
                IsEnterprise = false
            };
            api.MinScore(0.3)

            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

DebugHelper.setVerboseMode(true);

RecaptchaV3Proxyless api = new RecaptchaV3Proxyless();
api.setClientKey("YOUR_API_KEY_HERE");
api.setWebsiteUrl(new URL("http://getcaptchajob.com/"));
api.setWebsiteKey("6LfE4ZIUAAAAAGSYvvoszRvEC9IgFVyXwGkypn-W");
api.setPageAction("testPageAction");
api.setMinScore(0.9);

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