लौटाए गए यूज़र एजेंट और क्लाइंट हिंट इस्तेमाल करें
लक्ष्य वेबसाइट को समाधान भेजने वाले अनुरोध पर लौटाई गई ब्राउज़र पहचान का उपयोग करें। दोनों हेडर समाधान से सेट करें और वह अनुरोध उसी प्रॉक्सी के ज़रिए भेजें जो हल करने के दौरान सफल रही थी।
इस पेज पर
अपने मौजूदा ब्राउज़र हेडर बदलें
| HTTP हेडर | तैयार समाधान से मिला मान |
|---|---|
| User-Agent | solution.userAgent |
| sec-ch-ua | solution.secChUa |
अपने स्क्रैपर या किसी मौजूदा HTTP सेशन का कोई मनमाना यूज़र एजेंट बनाए न रखें। इससे समाधान के साथ लौटाई गई ब्राउज़र पहचान की जगह एक असंबंधित पहचान आ जाती है। केवल sec-ch-ua अपडेट करने पर दोनों हेडर अलग-अलग ब्राउज़र दर्शाते हैं।
डुप्लिकेट हेडर जोड़ने के बजाय पुराने मान बदलें। सेशन डिफ़ॉल्ट या अनुरोध बनाने वाले मिडलवेयर की जाँच करें, जो अनुरोध भेजे जाने से पहले इन्हें ओवरराइट कर सकते हैं।
सफल रही प्रॉक्सी का उपयोग करें
ready परिणाम से शुरू करें; pending और solving में उपयोग करने योग्य समाधान नहीं होता। SDK का solve मेथड तैयार परिणाम की प्रतीक्षा करता है या त्रुटि देता है।
एक proxy के साथ भेजे गए टास्क के लिए लक्ष्य अनुरोध में उसी प्रॉक्सी का दोबारा उपयोग करें। अगर आपने proxyCandidates दिए थे, तो Python के successful_proxy(original_task, ready_result) या JavaScript के successfulProxy(originalTask, readyResult) से सफल प्रॉक्सी चुनें। बस पहला उम्मीदवार न चुन लें।
नीचे दिए गए उदाहरण बाहर जाने वाले अनुरोध की प्रॉक्सी को request के proxy फ़ील्ड से पढ़ते हैं। उम्मीदवार-आधारित टास्क के लिए अनुरोध भेजने से पहले हेल्पर का चुना हुआ मान वहाँ रखें। उस सेटअप के लिए प्रॉक्सी उम्मीदवार चयन देखें।
Python या Node.js में लक्ष्य अनुरोध भेजें
ये उदाहरण reCAPTCHA v3 Enterprise टोकन भेजते हैं। Python में, solution तैयार परिणाम की solution डिक्शनरी है। Node.js में, result तैयार टास्क है। दोनों उदाहरण लौटाए गए हेडर को स्पष्ट रूप से सेट करते हैं और अनुरोध को चुनी गई प्रॉक्सी के ज़रिए भेजते हैं।
# Continue after client.solve(). Install requests separately: pip install requests.
import requests
# This example endpoint accepts the standard reCAPTCHA form field.
# Use your application's real URL, form fields, CSRF token and session.
response = requests.post(
"https://accounts.example.com/login",
data={"g-recaptcha-response": solution["token"]},
headers={
"User-Agent": solution["userAgent"],
"sec-ch-ua": solution["secChUa"],
},
proxies={"http": request["proxy"], "https": request["proxy"]},
timeout=30,
allow_redirects=False,
)
# Inspect the application's response to determine whether it accepted the request.
print("Application HTTP status:", response.status_code)// Continue after client.solve(). Install undici separately: npm install undici@7.
import { fetch, ProxyAgent } from 'undici';
const dispatcher = new ProxyAgent(request.proxy);
try {
// Replace the URL and form fields with your application's contract.
const response = await fetch('https://accounts.example.com/login', {
method: 'POST',
dispatcher,
redirect: 'manual',
headers: {
'user-agent': result.solution.userAgent,
'sec-ch-ua': result.solution.secChUa,
},
body: new URLSearchParams({
'g-recaptcha-response': result.solution.token,
}),
signal: AbortSignal.timeout(30_000),
});
console.log('Application HTTP status:', response.status);
await response.arrayBuffer();
} finally {
await dispatcher.close();
}उदाहरण के लॉगिन URL को इच्छित लक्ष्य URL से बदलें और उस एप्लिकेशन के वास्तविक फ़ॉर्म फ़ील्ड, CSRF टोकन और सेशन का उपयोग करें। नमूनों में माना गया है कि एप्लिकेशन g-recaptcha-response में टोकन स्वीकार करता है; लौटाए गए ब्राउज़र हेडर HTTP हेडर में जाने चाहिए, फ़ॉर्म बॉडी में नहीं।
अगर लक्ष्य अनुरोध अस्वीकार कर दे, तो जाँचें कि आपके HTTP क्लाइंट से वास्तव में क्या भेजा गया: टोकन का मान, दोनों ब्राउज़र हेडर, प्रॉक्सी और गंतव्य URL। ready टास्क का मतलब है कि समाधान बनाया गया था, न कि लक्ष्य ने आपका सबमिशन स्वीकार कर लिया। प्रिंट किया गया एप्लिकेशन HTTP स्टेटस शुरुआती संकेत है; वास्तविक सफलता या विफलता जानने के लिए एप्लिकेशन का रिस्पॉन्स जाँचें।
स्रोत और API संदर्भ
अपना पहला टास्क चलाएँ।
$5 वर्कस्पेस क्रेडिट के साथ शुरुआत करें।