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 |
awsProblemUrl | String | Optional | Problem-Interface-URL mit Schlüsselwörtern wie problem und num_solutions_required |
Wenn der abgerufene Token nicht verfügbar ist, kann dies an der IP liegen. Versuchen Sie in diesem Fall, den Modus AntiAwsWafTask
zu verwenden, um Ihre eigenen Proxys zu übergeben.
Wenn Sie nicht wissen, welche Parameter an capsolver übergeben werden sollten, wenden Sie sich bitte an die folgenden vier verschiedenen Situationen, um verschiedene Parameter zu übergeben. Wenn dies nicht Ihren Fall entspricht, kontaktieren Sie 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. |
Situation 3 | 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 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 |
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
"awsProblemUrl": "https://ait...awswaf.com/ait/ait/ait/problem?kind=visual&...&problem=gridcaptcha-5-0.1-0&num_solutions_required=2", // 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"
})