गाइड
कार्य(टोकन)
Geetest

GeeTestTask: Geetest को हल करना

सुझाव

createTask विधि से कार्य बनाएं और getTaskResult विधि से परिणाम प्राप्त करें।

हमारे द्वारा समर्थित कार्य प्रकार types:

  • GeeTestTaskProxyLess

समर्थित छवि प्रकार

प्रकारनोटस्थिति
img.pngस्लाइडस्थिर
img_2.pngआइकॉन क्लिकस्थिर
img_2.pngआइकॉन क्रशस्थिर
img_2.pngनाइनस्थिर
img_2.pngगोबांगस्थिर

कार्य बनाएं

createTask का उपयोग करके एक कार्य बनाएं।

कार्य ऑब्जेक्ट संरचना

गुणप्रकारआवश्यकविवरण
typeस्ट्रिंगआवश्यकGeeTestTaskProxyLess
websiteURLस्ट्रिंगआवश्यकGeetest का उपयोग करने वाली वेबसाइट का वेब पता (उदा: https://geetest.com)
gtस्ट्रिंगआवश्यककेवल Geetest V3 के लिए आवश्यक
challengeस्ट्रिंगआवश्यककेवल Geetest V3 के लिए आवश्यक
captchaIdस्ट्रिंगवैकल्पिककेवल Geetest V4 के लिए आवश्यक
geetestApiServerSubdomainस्ट्रिंगवैकल्पिकविशेष एपीआई सबडोमेन, उदाहरण: api.geetest.com

उदाहरण अनुरोध

Geetest V3 का उपयोग करके उदाहरण अनुरोध

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type":"GeetestTaskProxyless",
        "websiteURL":"https://mywebsite.com/geetest/test.php",
        "gt":"",
        "challenge":"",
        "geetestApiServerSubdomain":"api.geetest.com" // Optional
    }
}

Geetest V4 का उपयोग करके उदाहरण अनुरोध

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type":"GeetestTaskProxyless",
        "websiteURL":"https://mywebsite.com/geetest/test.php",
        "captchaId": "..."
    }
}

उदाहरण प्रतिक्रिया

{
    "errorId": 0,
    "status": "idle",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

परिणाम प्राप्त करना

परिणाम प्राप्त करने के लिए getTaskResult का उपयोग करें, सिस्टम लोड के आधार पर, आपको 3s से 10s के अंतराल में परिणाम प्राप्त होगा।

उदाहरण अनुरोध

POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
 
{
    "clientKey":"YOU_API_KEY",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

उदाहरण प्रतिक्रिया

GeetestV3 का उपयोग करके उदाहरण प्रतिक्रिया

{
  "errorId": 0,
  "solution": {
    "challenge": "",
    "validate": ""
  },
  "status": "ready"
}

GeetestV4 का उपयोग करके उदाहरण प्रतिक्रिया

{
  "errorId": 0,
  "taskId": "e0ecaaa8-06f6-41fd-a02e-a0c79b957b15",
  "status": "ready",
  "solution": {
    "captcha_id": "",
    "captcha_output": "",
    "gen_time": "",
    "lot_number": "",
    "pass_token": "",
    "risk_type": "slide"
  }
}

SDK अनुरोध का उपयोग करें

# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
 
import capsolver
 
capsolver.api_key = "..."
# v3
solution = capsolver.solve({
    "type": "GeeTestTaskProxyLess",
    "websiteURL": "http://mywebsite.com/geetest/test.php",
    "gt": "...",
    "challenge": "..."
})
 
# v4
solution = capsolver.solve({
    "type": "GeeTestTaskProxyLess",
    "websiteURL": "http://mywebsite.com/geetest/test.php",
    "captchaId": "..."
})

नमूना कोड

# pip install requests
import requests
import time
 
api_key = "YOUR_API_KEY"  # TODO: your api key of capsolver
 
 
def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": 'GeeTestTaskProxyLess',
            "websiteURL": "https://mywebsite.com/geetest/test.php",  # page url of your site
            "gt": "...",  # v3 is required
            "challenge":   "...",  # v3 is required
            "captchaId":   "...",  # v4 is required
        }
    }
    res = requests.post("https://api.capsolver.com/createTask", json=payload)
    resp = res.json()
    task_id = resp.get("taskId")
    if not task_id:
        print("Failed to create task:", res.text)
        return
    print(f"Got taskId: {task_id} / Getting result...")
 
    while True:
        time.sleep(1)  # delay
        payload = {"clientKey": api_key, "taskId": task_id}
        res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
        resp = res.json()
        status = resp.get("status")
        if status == "ready":
            return resp.get("solution")
        if status == "failed" or resp.get("errorId"):
            print("Solve failed! response:", res.text)
            return
 
 
solution = capsolver()
print(solution)

ध्यान देने योग्य बातें

  1. कृपया ब्राउज़र डेवलपर टूल से सीधे कॉपी न करें, अनुरोध पर GT और चुनौती प्राप्त करें।

  2. सत्यापन कोड पैरामीटर को फिर से प्राप्त करने में कुछ त्रुटियां होने पर पुनः प्रयास किया जा सकता है।

  3. सत्यापन कोड पैरामीटर केवल एक बार पहचान के लिए सबमिट किए जा सकते हैं, पहचान के लिए समान पैरामीटर को बार-बार सबमिट न करें, पुनः अधिग्रहण को फिर से शुरू करने की आवश्यकता है।

  4. ध्यान दें: यदि आप साइट को पास नहीं कर पाते हैं तो यह कोडिंग समस्या हो सकती है, तब CAPTCHA = प्रतीक को %3D से बदलें, अन्य कोई कोडिंग नहीं, कृपया इसका ध्यान रखें।

  5. परीक्षण सर्वर जैसे पैरामीटर यहां Geetest दस्तावेज़ में देखे जा सकते हैं।