ReCaptchaV3: reCAPTCHA v3 को हल करना
createTask विधि से कार्य (टास्क) बनाएं और getTaskResult विधि से परिणाम प्राप्त करें।
हम जिन टास्क प्रकारों (types
) का समर्थन करते हैं:
ReCaptchaV3Task
इस टास्क प्रकार के लिए आपके अपने प्रॉक्सी की आवश्यकता होती है।ReCaptchaV3EnterpriseTask
इस टास्क प्रकार के लिए आपके अपने प्रॉक्सी की आवश्यकता होती है।ReCaptchaV3TaskProxyLess
सर्वर के अंतर्निहित प्रॉक्सी का उपयोग कर रहा है।ReCaptchaV3EnterpriseTaskProxyLess
सर्वर के अंतर्निहित प्रॉक्सी का उपयोग कर रहा है।
टास्क बनाएं
createTask विधि से एक टास्क बनाएं।
टास्क बनाने से पहले, यदि आपको प्लेराइट (playwright) और पपेटियर (puppeteer) जैसे ऑटोमेशन टूल्स में टोकन का उपयोग करने की आवश्यकता है, तो आपको उनके कॉलबैक फ़ंक्शन खोजने पड़ सकते हैं। संदर्भ:
टास्क ऑब्जेक्ट संरचना
यदि आप नहीं जानते कि पैरामीटर कैसे सेट करें, तो कृपया आवश्यक पैरामीटर स्वचालित रूप से प्राप्त करने के लिए CapSolver एक्सटेंशन का उपयोग करें।
यदि आपको पता चलता है कि v3 टोकन अमान्य है, तो कृपया JSON कॉन्फ़िगरेशन प्राप्त करने के लिए CapSolver एक्सटेंशन का उपयोग करें और कॉन्फ़िगरेशन के लिए इसे हमारी ग्राहक सेवा को भेजें। कॉन्फ़िगरेशन के बाद, यह टोकन स्कोर को बहुत बेहतर बनाएगा।
प्रॉपर्टीज़ | प्रकार | आवश्यक | विवरण |
---|---|---|---|
type | String | आवश्यक | ReCaptchaV3Task ReCaptchaV3TaskProxyLess ReCaptchaV3EnterpriseTask ReCaptchaV3EnterpriseTaskProxyLess |
websiteURL | String | आवश्यक | रीकैप्चा वाली वेबसाइट का पता। |
websiteKey | String | आवश्यक | रीकैप्चा वेबसाइट कुंजी। |
proxy | String | वैकल्पिक | प्रॉक्सी का उपयोग करना सीखें। |
pageAction | String | वैकल्पिक | ReCaptchaV3 के लिए: आप grecaptcha.execute खोजकर एक्शन पैरामीटर का मान पा सकते हैं। |
enterprisePayload | Object | वैकल्पिक | एंटरप्राइज़ संस्करण के लिए, grecaptcha.enterprise.render खोजें और s पैरामीटर पास करें। |
isSession | Bool | वैकल्पिक | सेशन मोड, सक्षम होने पर, एक recaptcha-ca-t मान लौटाएगा, जिसका उपयोग कुकी के रूप में किया जाता है। यह आमतौर पर v3 में दिखाई देता है।ध्यान दें: कुछ वेबसाइटों को एक recaptcha-ca-e मान की आवश्यकता होती है, जो आमतौर पर v2 में दिखाई देता है। यदि यह मान मौजूद है, तो इसे बिना किसी अतिरिक्त पैरामीटर सेटिंग के स्वचालित रूप से लौटा दिया जाएगा। |
apiDomain | String | वैकल्पिक | कैप्चा लोड करने के लिए डोमेन नाम। आमतौर पर, इस पैरामीटर को पास करने की आवश्यकता नहीं होती है। • http://www.google.com/ • http://www.recaptcha.net/ |
उदाहरण अनुरोध
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaV2Task",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"enterprisePayload": {
"s": "SOME_ADDITIONAL_TOKEN" // Optional
},
"isInvisible": false, // Optional
"pageAction": "submit", // Optional
"apiDomain": "", // Optional
"proxy": "http:ip:port:user:pass", // socks5:ip:port:user:pass, Optional
}
}
हमारे पास टास्क सबमिट करने के बाद, सफल होने पर आपको प्रतिक्रिया में एक ‘taskId’ प्राप्त होना चाहिए। यदि आपको टास्क आईडी प्राप्त नहीं हुई है, तो कृपया errorCode: त्रुटियों की पूरी सूची पढ़ें।
उदाहरण प्रतिक्रिया
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
परिणाम प्राप्त करना
आपके पास taskId होने के बाद, समाधान प्राप्त करने के लिए आपको taskId सबमिट करना होगा। प्रतिक्रिया संरचना getTaskResult में समझाई गई है।
सिस्टम लोड के आधार पर, आपको 1s
से 10s
के अंतराल के भीतर परिणाम प्राप्त होंगे।
उदाहरण अनुरोध
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
उदाहरण प्रतिक्रिया
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"userAgent": "xxx", // यूजर-एजेंट
"secChUa": "xxx", // Sec-Ch-Ua
"createTime": 1671615324290, // टोकन के निर्माण का समय
"gRecaptchaResponse": "3AHJ......", // टोकन
"recaptcha-ca-t": "AbEM......", // कुछ v3 वेबसाइटों में सेशन मोड होता है। isSession को सक्षम करने के बाद, यह पैरामीटर लौटाया जाएगा और कुकी के रूप में उपयोग किया जाएगा।
"recaptcha-ca-e": "Abp_......" // कुछ v2 वेबसाइटों में यह पैरामीटर होता है, जिसका उपयोग कुकी के रूप में किया जाता है। यदि ऐसा कोई मान मौजूद है, तो इसे स्वचालित रूप से लौटाया जाएगा।
},
"status": "ready"
}
SDK अनुरोध का उपयोग करें
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": "https://www.google.com",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-",
"pageAction": "login",
})
नमूना कोड
# pip install requests
import requests
import time
# TODO: अपनी कॉन्फ़िग सेट करें
api_key = "YOUR_API_KEY" # कैप्सॉल्वर की आपकी एपीआई कुंजी
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-" # आपकी लक्ष्य साइट की साइट कुंजी
site_url = "https://www.google.com" # आपकी लक्ष्य साइट का पेज यूआरएल
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV3TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url,
"pageAction": "login",
}
}
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) # देरी
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", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
token = capsolver()
print(token)