GeeTestTaskProxyless: প্রক্সি ছাড়া geetest.com থেকে ক্যাপচা সমাধান করুন
এই ধরনের কাজ আমাদের কর্মীদের ব্রাউজারে GeeTest ক্যাপচা সমাধান করে। আপনার অ্যাপ ওয়েবসাইটের ঠিকানা, জিটি কী, চ্যালেঞ্জ কী জমা দেয় এবং টাস্ক সমাপ্তির পর ৩টি টোকেন সমন্বিত একটি সমাধান পায়। ভার্সনের জন্য GeeTest সংস্করণ 4 আউটপুট 5 টি মান নিয়ে গঠিত এবং চ্যালেঞ্জ কী প্রয়োজন নেই।
আমাদের প্রক্সি প্রয়োজন হয় না এবং আমরা আমাদের নিজস্ব IP ঠিকানাগুলি থেকে এটি সমাধান করি, এছাড়া দিয়ে সবকিছু GeeTestTask এর মতো।








উদাহরণসমূহ
টাস্ক অবজেক্ট
সম্পর্কিত টিউটোরিয়াল: FunCaptcha এবং Geetest-এর জন্য API প্যারামিটার খুঁজতে Chrome-এ ব্রেকপয়েন্ট কীভাবে ব্যবহার করবেন তা জানুন
প্রোপার্টি | ধরণ | জরুরী | উদ্দেশ্য |
---|---|---|---|
type | স্ট্রিং | হ্যাঁ | GeeTestTaskProxyless |
websiteURL | স্ট্রিং | হ্যাঁ | একটি টার্গেট ওয়েব পেজের ঠিকানা। ওয়েব সাইটে যে কোনও জায়গায় অবস্থিত হতে পারে, মেম্বার এরিয়াতেও। আমাদের কর্মীরা সেখানে চলাচল করে না, পরিবর্তে ভিজিটটি অনুকরণ করে। |
gt | স্ট্রিং | হ্যাঁ | ডোমেন পাব্লিক কী, খুব কমই আপডেট হয়। |
challenge | স্ট্রিং | না | টোকন কী পরিবর্তন করা। প্রতিটি ক্যাপচার জন্য একটি নতুন থেকে গ্রহণ করা নিশ্চিত করুন, অন্যথায় আপনাকে ত্রুটি টাস্কের জন্য চার্জ করা হবে। সংস্করণ 3 এর জন্য প্রয়োজনীয়। সংস্করণ 4 এর জন্য প্রয়োজন নেই |
geetestApiServerSubdomain | স্ট্রিং | না | ঐচ্ছিক API সাবডোমেন। কিছু বাস্তবায়নের জন্য প্রয়োজন হতে পারে।
![]() |
geetestGetLib | স্ট্রিং | না | কিছু বাস্তবায়নের জন্য প্রয়োজনীয়। একটি স্ট্রিং এ এনকোড করে JSON প্রেরণ করুন। ব্রাউজার ডেভেলপার টুলে মানটি সনাক্ত করা যায়। "initGeetest" ফাংশনের কল করার আগে একটি ব্রেকপয়েন্ট দিন।
![]() |
version | পূর্ণসংখ্যা | না | সংস্করণ সংখ্যা. ডিফল্ট সংস্করণ 3। সমর্থিত সংস্করণ: 3 এবং 4। |
initParameters | অবজেক্ট | না | সংস্করণ 4 এর জন্য অতিরিক্ত প্রারম্ভিক পরামিতি |
উদাহরণের অনুরোধ (V3)
CURL
curl -i -H "Accept: application/json" \
-H "Content-Type: application/json" \
-X POST -d '{
"clientKey":"YOUR_API_KEY_HERE",
"task":
{
"type":"GeeTestTaskProxyless",
"websiteURL":"http://mywebsite.com/geetest/test.php",
"gt":"874703612e5cac182812a00e273aad0d",
"challenge":"a559b82bca2c500101a1c8a4f4204742"
},
"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("geetestproxyless.php");
$api = new GeeTestProxyless();
$api->setVerboseMode(true);
//grabbing challenge key ... ";
$data = json_decode(file_get_contents("https://www.geetest.com/demo/gt/register-enIcon-official?t=1547634498036"), true);
echo "grabbed data:\n";
print_r($data);
if (!isset($data["gt"]) && !isset($data["challange"])) {
echo "something went wrong, probably example was changed or network is inaccessible\n";
exit;
}
$challenge = $data["challenge"];
$gt = $data["gt"];
echo "setting gt=$gt, challenge=$challenge\n";
$api->setWebsiteURL("https://www.geetest.com/en/");
$api->setGTKey($gt);
$api->setChallenge($challenge);
//optional API subdomain, make sure you understand what to set here
$api->setAPISubdomain("optional.subdomain.api.geetest.com");
//read the docs about this optional parameter
$api->setGeetestLib("{\"customlibs\":\"url-to-lib.js\"}");
//your anti-captcha.com account key
$api->setKey("YOUR_API_KEY_HERE");
//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 {
echo "your geetest tokens:\n";
print_r($api->getTaskSolution());
}
Python
#pip3 install anticaptchaofficial
from anticaptchaofficial.geetestproxyless import *
solver = geetestProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://address.com")
solver.set_gt_key("CONSTANT_GT_KEY")
solver.set_challenge_key("VARIABLE_CHALLENGE_KEY")
# optional API subdomain, make sure you understand what to set here
# solver.set_js_api_domain("custom-domain.geetest.com")
# getLib payload, see documentation for explanation of this
# solver.set_geetest_lib("{\"customlibs\":\"url-to-lib.js\"}")
# 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 tokens: "
print 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');
//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
ac.setSoftId(0);
ac.solveGeeTestProxyless('http://DOMAIN.COM',
'GT',
'CHALLENGE',
'API_SUBDOMAIN',
'GET_LIB')
.then(result => {
console.log('result: ');
console.log(result);
})
.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 GeeTestProxyless()
{
ClientKey = "YOUR_API_KEY_HERE",
WebsiteUrl = new Uri("http://www.supremenewyork.com"),
WebsiteKey = "b6e21f90a91a3c2d4a31fe84e10d0442",
WebsiteChallenge = "169acd4a58f2c99770322dfa5270c221"
// 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 CHALLENGE: " + api.GetTaskSolution().Challenge, DebugHelper.Type.Success);
DebugHelper.Out("Result SECCODE: " + api.GetTaskSolution().Seccode, DebugHelper.Type.Success);
DebugHelper.Out("Result VALIDATE: " + api.GetTaskSolution().Validate, DebugHelper.Type.Success);
}
}
}
}
Java
//git clone https://git.anti-captcha.com/sup/anticaptcha-java.git
package com.anti_captcha;
import com.anti_captcha.Api.GeeTestProxyless;
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);
GeeTestProxyless api = new GeeTestProxyless();
api.setClientKey("YOUR_API_KEY_HERE");
api.setWebsiteUrl(new URL("http://biletmaster.com/"));
api.setWebsiteKey("be33de396f8d04030f6eca8fbd225071");
api.setWebsiteChallenge("grabbed_one_time_challenge_32bytes");
//optional API subdomain, make sure you understand what to set here
//api.setGeetestApiServerSubdomain("optional.subdomain.api.geetest.com");
//read the docs about this optional parameter
//api.setGeetestLib("{\"customlibs\":\"url-to-lib.js\"}");
//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 CHALLENGE: " + api.getTaskSolution().getChallenge(), DebugHelper.Type.SUCCESS);
DebugHelper.out("Result SECCODE: " + api.getTaskSolution().getSeccode(), DebugHelper.Type.SUCCESS);
DebugHelper.out("Result VALIDATE: " + api.getTaskSolution().getValidate(), DebugHelper.Type.SUCCESS);
}
}
}
GeeTest V4
CURL
curl -i -H "Accept: application/json" \
-H "Content-Type: application/json" \
-X POST -d '{
"clientKey":"YOUR_API_KEY_HERE",
"task":
{
"type":"GeeTestTaskProxyless",
"websiteURL":"http://mywebsite.com/geetest/test.php",
"gt":"874703612e5cac182812a00e273aad0d",
"version":4,
"initParameters": {
"riskType": "slide"
}
},
"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("geetestproxyless.php");
$api = new GeeTestProxyless();
$api->setVerboseMode(true);
$api->setWebsiteURL("https://www.geetest.com/en/adaptive-captcha-demo");
$api->setGTKey("fcd636b4514bf7ac4143922550b3008b");
$api->setVersion(4);
$api->setInitParameters([
"riskType": "slide"
]);
//optional API subdomain, make sure you understand what to set here
$api->setAPISubdomain("gcaptcha4.geetest.com");
//your anti-captcha.com account key
$api->setKey("YOUR_API_KEY_HERE");
//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 {
echo "your geetest tokens:\n";
print_r($api->getTaskSolution());
}
Python
#pip3 install anticaptchaofficial
from anticaptchaofficial.geetestproxyless import *
solver = geetestProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://address.com")
solver.set_gt_key("captchaId value")
solver.set_version(4)
# optional API subdomain, make sure you understand what to set here
# solver.set_js_api_domain("custom-domain.geetest.com")
# optional initialization parameters
# solver.set_init_parameters({"riskType": "slide"})
# 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 tokens: "
print 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');
//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
ac.setSoftId(0);
ac.solveGeeTestV4Proxyless('http://DOMAIN.COM',
'captchaId',
'API_SUBDOMAIN',
{
"riskType": "slide"
})
.then(result => {
console.log('result: ');
console.log(result);
})
.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 GeeTestV4Proxyless()
{
ClientKey = ClientKey,
WebsiteUrl = new Uri("http://www.supremenewyork.com"),
WebsiteKey = "b6e21f90a91a3c2d4a31fe84e10d0442",
// Specify softId to earn 10% commission with your app.
// Get your softId here:
// https://anti-captcha.com/clients/tools/devcenter
SoftId = 0
};
api.initParameters.Add("riskType", "slide");
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 CaptchaId: " + api.GetTaskSolution().CaptchaId, DebugHelper.Type.Success);
DebugHelper.Out("Result LotNumber: " + api.GetTaskSolution().LotNumber, DebugHelper.Type.Success);
DebugHelper.Out("Result PassToken: " + api.GetTaskSolution().PassToken, DebugHelper.Type.Success);
DebugHelper.Out("Result GenTime: " + api.GetTaskSolution().GenTime, DebugHelper.Type.Success);
DebugHelper.Out("Result CaptchaOutput: " + api.GetTaskSolution().CaptchaOutput, DebugHelper.Type.Success);
}
}
}
}
Java
//git clone https://git.anti-captcha.com/sup/anticaptcha-java.git
package com.anti_captcha;
import com.anti_captcha.Api.GeeTestProxyless;
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);
GeeTestProxyless api = new GeeTestV4Proxyless();
api.setClientKey("YOUR_API_KEY_HERE");
api.setWebsiteUrl(new URL("http://biletmaster.com/"));
api.setWebsiteKey("be33de396f8d04030f6eca8fbd225071");
// optional initial parameters
JSONObject additionalInitParameters = new JSONObject();
try {
additionalInitParameters.put("riskType", "ai");
} catch (Exception e) {
DebugHelper.out("JSON error: "+e.getMessage(), DebugHelper.Type.ERROR);
return;
}
api.setInitParameters(additionalInitParameters);
//optional API subdomain, make sure you understand what to set here
//api.setGeetestApiServerSubdomain("optional.subdomain.api.geetest.com");
//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 captcha_id: " + api.getTaskSolution().getCaptchaId(), DebugHelper.Type.SUCCESS);
DebugHelper.out("Result lot_number: " + api.getTaskSolution().getLotNumber(), DebugHelper.Type.SUCCESS);
DebugHelper.out("Result pass_token: " + api.getTaskSolution().getPassToken(), DebugHelper.Type.SUCCESS);
DebugHelper.out("Result gen_time: " + api.getTaskSolution().getGenTime(), DebugHelper.Type.SUCCESS);
DebugHelper.out("Result captcha_output: " + api.getTaskSolution().getCaptchaOutput(), 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 পদ্ধতি ব্যাবহার করুন। প্রথম অনুরোধটি করার আগে, একটি কর্মীকে কিছু সময় দিন, ৫ সেকেন্ডের মতো। কর্মীটি এরপরেও ব্যস্ত থাকলে ৩ সেকেন্ড পর পুনরায় চেষ্টা করুন।
টাস্ক সমাধান অবজেক্ট (V3)
প্রোপার্টি | ধরণ | উদ্দেশ্য |
---|---|---|
challenge | স্ট্রিং | টার্গেট ওয়েবসাইটে জমা দেওয়ার ফর্মের সাথে সংযোগ স্থাপনের জন্য প্রয়োজনীয় হ্যাশ স্ট্রিং। |
validate | স্ট্রিং | হ্যাশ স্ট্রিং যা প্রয়োজন। |
seccode | স্ট্রিং | আরেকটি প্রয়োজনীয় হ্যাশ স্ট্রিং, সেগুলির মধ্যে ৩টি কেন রয়েছে তা আমাদের কোনও ধারণা নেই। |
টাস্ক সমাধান অবজেক্ট (V4)
প্রোপার্টি | ধরণ |
---|---|
captcha_id | স্ট্রিং |
lot_number | স্ট্রিং |
pass_token | স্ট্রিং |
gen_time | পূর্ণসংখ্যা |
captcha_output | স্ট্রিং |
প্রতিক্রিয়ার উদাহরণ (v3)
ত্রুটিমুক্ত JSON
{
"errorId":0,
"status":"ready",
"solution":
{
"challenge":"3c1c5153aa48011e92883aed820069f3hj",
"validate":"47ad5a0a6eb98a95b2bcd9e9eecc8272",
"seccode":"83fa4f2d23005fc91c3a015a1613f803|jordan"
},
"cost":"0.001500",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}
টোকেন ব্যবহারের উদাহরণ

প্রতিক্রিয়ার উদাহরণ (v4)
ত্রুটিমুক্ত JSON
{
"errorId":0,
"status":"ready",
"solution":
{
"captcha_id": "fcd636b4514bf7ac4143922550b3008b",
"lot_number": "354ab6dd4e594fdc903074c4d8d37b24",
"pass_token": "b645946a654e60218c7922b74b3b5ee8e8717e8fd3cd5182a5c98d660bbd1ed5",
"gen_time": "1649921519",
"captcha_output": "cFPIALDXSop8Ri2mPABbRWzNBs86N8D4vNUTuVa7wN7E...[cut]...ciM50ePCCzLBZ1bmaV9Yt7IkkFI9Emx4eaP8rRoA=="
},
"cost":"0.001500",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}