AwsWafCaptcha: Lösen von AWS WAF
Erstellen Sie die Aufgabe mit der Methode createTask und erhalten Sie das Ergebnis mit der Methode getTaskResult.
Die von uns unterstützten Aufgabentypen:
AntiAwsWafTask
dieser Aufgabentyp erfordert Ihre eigenen Proxys.AntiAwsWafTaskProxyLess
dieser Aufgabentyp erfordert keine eigenen Proxys.
Aufgabe erstellen
Erstellen Sie eine Erkennungsaufgabe mit der Methode createTask.
Struktur des Aufgabenobjekts
Eigenschaften | Typ | Erforderlich | Beschreibung |
---|---|---|---|
type | String | Required | AntiAwsWafTask AntiAwsWafTaskProxyLess |
proxy | String | Optional | Informationen zum Verwenden von Proxys finden Sie unter Verwendung von Proxys |
websiteURL | String | Required | Zurück zur Seite mit Captcha-Informationen url |
awsKey | String | Optional | Der Wert key der Captcha-Seite |
awsIv | String | Optional | Der Wert iv der Captcha-Seite |
awsContext | String | Optional | Der Wert context der Captcha-Seite |
awsChallengeJS | String | Optional | Die challenge.js URL der Captcha-Seite wird zurückgegeben |
awsApiJs | String | Optional | Die jsapi.js URL der Captcha-Seite wird zurückgegeben |
awsProblemUrl | String | Optional | Problem-Interface-URL mit Schlüsselwörtern wie problem und num_solutions_required |
awsApiKey | String | Optional | problem Schnittstellen-Wert von api_key |
awsExistingToken | String | Optional | aws-waf-token , der beim letzten Überprüfungsvorgang verwendet wurde |
Wenn Sie nicht wissen, welche Parameter an capsolver übergeben werden sollen, beziehen Sie sich bitte auf die folgenden verschiedenen Szenarien zur Übermittlung unterschiedlicher Parameter. Falls keine der Situationen Ihren Bedürfnissen entspricht, wenden Sie sich bitte an unseren Kundenservice.
Situation | Übertragungsparameter | Voraussetzungen |
---|---|---|
Situation 1 | websiteURL | Der aws Captcha-Antwortcode kann 405 sein und kann folgende Parameter in der HTML finden: window.gokuProps = {"key":"AQID...","iv":"A6we...","context":"rGXm.."} |
Situation 2 | websiteURL awsKey awsIv awsContext awsChallengeJS | Unter der Voraussetzung von Situation 1, wenn capsolver eine Fehlermeldung zurückgibt: Captcha render unexpect status code XXX, please pass in the awsKey, awsIv, awsContext and awsChallengeJs parameters , Wenn der Server kein Captcha auslöst, analysieren Sie bitte manuell den key, iv und den context-Parameter an den capsolver.Achten Sie besonders darauf Wenn Sie den Fehler timeout metering, your parameters have expired, please update awsKey, awsIv, awsContext or awsChallengeJS. erhalten, dass die übermittelten Parameter nicht korrekt miteinander übereinstimmen oder bereits abgelaufen sind. Es wird empfohlen, bei jeder Anfrage alle Parameter in Echtzeit zu analysieren. |
Situation 3-1 | websiteURL awsChallengeJS | Wenn die Seite key, iv, context nicht findet, aber challenge.js enthält, wird challenge.js als awsChallengeJS-Wert an capsolver weitergegeben. |
Situation 3-2 | websiteURL awsApiJs | Wenn basierend auf Situation 3-1 nicht klar ist, woher challenge.js stammt, die Seite aber jsapi.js enthält, bedeutet dies, dass challenge.js aus dem Code von jsapi.js zusammengesetzt ist. Dann kann jsapi.js direkt als Wert von awsApiJs an Capsolver übergeben werden. |
Situation 4 | websiteURL awsProblemUrl | In speziellen Versionen, wenn die Seite keine Schlüssel, iv, Kontext, challenge.js oder nur captcha.js findet, muss die URL der Schnittstelle des problem an den capsolver weitergegeben werden, sollte awsProblemUrl die Werte problem und num_solutions_required enthalten, die in der html der Seite nach visualSolutionsRequired gesucht werden können.awsProblemUrl Ausführliches Beispiel: 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 |
Situation 5 | websiteURL awsApiKey awsApiJs awsExistingToken | Üblicherweise tritt dies in Situationen auf, in denen eine zweistufige Überprüfung erforderlich ist. Die problem -Schnittstelle enthält eine api_key (der Wert für jede Website ist in der Regel unveränderlich) als awsApiKey , die Seite verfügt über ein jsapi.js als awsApiJs , und der zuletzt verifizierte aws-waf-token wird als awsExistingToken an capsolver übermittelt. |
Beispielanfrage
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
}
}
Nachdem Sie die Aufgabe an uns übermittelt haben, sollten Sie in der Antwort eine “Aufgaben-ID” erhalten, wenn dies erfolgreich ist. Bitte lesen Sie Fehlercode: Vollständige Liste der Fehler, wenn Sie die Aufgaben-ID nicht erhalten haben.
Beispielantwort
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Ergebnisse abrufen
Nachdem Sie die Aufgaben-ID haben, müssen Sie die Aufgaben-ID übergeben, um die Lösung abzurufen. Die Struktur der Antwort wird in getTaskResult erläutert.
Je nach Auslastung des Systems erhalten Sie die Ergebnisse innerhalb des Intervalls von 5s
bis 30s
.
Beispielanfrage
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Beispielantwort
{
"errorId": 0,
"taskId": "646825ef-9547-4a29-9a05-50a6265f9d8a",
"status": "ready",
"solution": {
"cookie": "223d1f60-0e9f-4238-ac0a-e766b15a778e:EQoAf0APpGIKAAAA:AJam3OWpff1VgKIJxH4lGMMHxPVQ0q0R3CNtgcMbR4VvnIBSpgt1Otbax4kuqrgkEp0nFKanO5oPtwt9+Butf7lt0JNe4rZQwZ5IrEnkXvyeZQPaCFshHOISAFLTX7AWHldEXFlZEg7DjIc="
}
}
Verwendung der SDK-Anforderung
# 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"
})