AwsWafCaptcha: AWS WAF को हल करना
कृपया कार्य को createTask विधि के साथ बनाएं और getTaskResult विधि के साथ परिणाम प्राप्त करें।
हम जिस प्रकार के कार्य प्रकार का समर्थन करते हैं:
AntiAwsWafTask
इस कार्य प्रकार को प्रॉक्सी की जानकारी की आवश्यकता है।AntiAwsWafTaskProxyLess
इस कार्य प्रकार को प्रॉक्सी की आवश्यकता नहीं होती है।
कार्य बनाएं
createTask विधि के साथ पहचान कार्य बनाएं।
कार्य ऑब्जेक्ट संरचना
गुण | प्रकार | आवश्यक | विवरण |
---|---|---|---|
type | String | Required | AntiAwsWafTask AntiAwsWafTaskProxyLess |
proxy | String | Required | सिखाएँ प्रॉक्सी का प्रयोग कर रहा है |
websiteURL | String | Required | कैप्चा से संबंधित जानकारी के पृष्ठ के यूआरएल पर वापस जाएं |
awsKey | String | Optional | कोड पृष्ठ द्वारा `key’ मान लौटाया |
awsIv | String | Optional | कोड पृष्ठ द्वारा `iv’ मान लौटाया |
awsContext | String | Optional | कोड पृष्ठ द्वारा `context’ मान लौटाया |
awsChallengeJS | String | Optional | कैप्चा पृष्ठ द्वारा लौटाया गया challenge.js लिंक |
awsApiJs | String | Optional | कैप्चा पृष्ठ द्वारा लौटाया गया jsapi.js लिंक |
awsProblemUrl | String | Optional | problem इंटरफ़ेस यूआरएल जिसमें कीवर्ड problem और num_solutions_required शामिल हैं |
awsApiKey | String | Optional | problem इंटरफ़ेस के लिए api_key मान |
awsExistingToken | String | Optional | पिछले सत्यापित किए गए aws-waf-token |
यदि आप नहीं जानते कि कौन से मापदंडों का उपयोग किया जाना चाहिए, तो विभिन्न मापदंडों को पारित करने के लिए निम्नलिखित कुछ अलग-अलग परिस्थितियों
मामला | पैरामीटर पास करना | आवश्यक शर्तें |
---|---|---|
मामला 1 | websiteURL | AWS पृष्ठ प्रतिक्रिया कोड 405 हो सकता है और HTML में निम्नलिखित पैरामीटर पाए जा सकते हैं:window.gokuProps = {"key":"AQID...","iv":"A6we...","context":"rGXm.."} |
मामला 2 | websiteURL awsKey awsIv awsContext awsChallengeJS | परिस्थिति 1 की शर्तों में, यदि capsolver त्रुटि संकेत लौटाता है: Captcha render unexpect status code XXX, please pass in the awsKey, awsIv, awsContext and awsChallengeJs parameters , क्योंकि सर्वर ने कैप्चा ट्रिगर नहीं किया है, कृपया मैन्युअल रूप से key, iv, context पैरामीटर capsolver को पास करें। विशेष ध्यान दें यदि आपको मिला timeout metering, your parameters have expired, please update awsKey, awsIv, awsContext or awsChallengeJS. एक त्रुटि का अर्थ है कि आपके द्वारा दिए गए चार पैरामीटर एक दूसरे से मेल नहीं खाते हैं या समाप्त हो गए हैं, और यह सिफारिश की जाती है कि प्रत्येक |
मामला 3-1 | websiteURL awsChallengeJS | जब पृष्ठ key, iv, context नहीं ढूंढ पाता है, लेकिन challenge.js मौजूद है, तो challenge.js को awsChallengeJS के मान के रूप में capsolver को पास करें। |
मामला 3-2 | websiteURL awsApiJs | स्थिति 3-1 के आधार पर, यदि यह स्पष्ट नहीं है कि challenge.js कहां से आता है, लेकिन पृष्ठ पर jsapi.js है, तो इसका मतलब है कि challenge.js को jsapi.js के कोड से इकट्ठा किया गया है, फिर jsapi.js को awsApiJs के मान के रूप में सीधे कैप्सॉल्वर में पास किया जा सकता है। |
मामला 4 | websiteURL awsProblemUrl | विशेष संस्करण, जब पृष्ठ key, iv, context, challenge.js नहीं ढूंढ पाता है, और केवल captcha.js ही मिलता है, तो आपको problem इंटरफ़ेस URL को capsolver में पास करना होगा, awsProblemUrl में problem और num_solutions_required जैसे मान होने चाहिए, जिन्हें पृष्ठ html में visualSolutionsRequired खोज कर पाया जा सकता है।awsProblemUrl पूर्ण उदाहरण: https://ait.2608283a.us-east-1.captcha.awswaf.com/ait/ait/ait/problem?kind=visual&domain=www.amazon.com&locale=en-us&problem=gridcaptcha-5-0.15-0&num_solutions_required=2 |
मामला 5 | websiteURL awsApiKey awsApiJs awsExistingToken | आमतौर पर द्वितीय सत्यापन की आवश्यकता की स्थिति में होता है, problem इंटरफ़ेस में awsApiKey के रूप में एक api_key (प्रत्येक वेबसाइट का मान आमतौर पर अपरिवर्पृष्ठ में awsApiJs के रूप में एक jsapi.js हैअंतिम सत्यापित aws-waf-token कैप्सोल्वर को awsExistingToken के रूप में पास किया गया |
उदाहरण अनुरोध
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "AntiAwsWafTask", // Required
"websiteURL": "https://efw47fpad9.execute-api.us-east-1.amazonaws.com/latest", // Required
"awsKey": "AQIDAHjcYu/GjX+QlghicBg......shMIKvZswZemrVVqA==", // Optional
"awsIv": "CgAAFDIlckAAAAid", // Optional
"awsContext": "7DhQfG5CmoY90ZdxdHCi8WtJ3z......njNKULdcUUVEtxTk=", // Optional
"awsChallengeJS": "https://41bcdd4fb3cb.610cd090.us-east-1.token.awswaf.com/41bcdd4fb......a6c832/challenge.js", // Optional
"awsApiJs": "https://9175c2fd4189.edge.captcha-sdk.awswaf.com/9175c2fd4189/jsapi.js", // Optional
"awsProblemUrl": "https://ait...awswaf.com/ait/ait/ait/problem?kind=visual&...&problem=gridcaptcha-5-0.1-0&num_solutions_required=2", // Optional
"awsApiKey": "Sps+L2gV...", // Optional
"awsExistingToken": "5na16dg6-216a-...", // Optional
"proxy": "http:ip:port:user:pass" // socks5:ip:port:user:pass
}
}
जब आप कार्य को हमें प्रस्तुत करते हैं, तो आपको यदि यह सफल है तो उत्तर में ‘कार्य आईडी’ प्राप्त ह
ोना चाहिए। कृपया यदि आपको कार्य आईडी प्राप्त नहीं हुई है, तो कृपया errorCode: पूरी त्रुटि सूची पढ़ें।
उदाहरण उत्तर
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
परिणाम प्राप्त करना
जब आपके पास कार्य आईडी होता है, तो आपको समाधान प्राप्त करने के लिए कार्य आईडी को प्रस्तुत करना होता है। प्रतिसाद संरचना की व्याख्या getTaskResult में की गई है।
सिस्टम लोड के आधार पर, आपको 5 सेकंड
से 30 सेकंड
के बीच परिणाम प्राप्त होते हैं।
उदाहरण अनुरोध
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,
"taskId": "646825ef-9547-4a29-9a05-50a6265f9d8a",
"status": "ready",
"solution": {
"cookie": "223d1f60-0e9f-4238-ac0a-e766b15a778e:EQoAf0APpGIKAAAA:AJam3OWpff1VgKIJxH4lGMMHxPVQ0q0R3CNtgcMbR4VvnIBSpgt1Otbax4kuqrgkEp0nFKanO5oPtwt9+Butf7lt0JNe4rZQwZ5IrEnkXvyeZQPaCFshHOISAFLTX7AWHldEXFlZEg7DjIc="
}
}
SDK अनुरोध का उपयोग करें
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "AntiAwsWafTask",
"websiteURL": "https://efw47fpad9.execute-api.us-east-1.amazonaws.com/latest",
"proxy": "ip:port:user:pass"
})