AwsWafCaptcha : Résolution d’AWS WAF
Créez la tâche avec la méthode createTask et obtenez le résultat avec la méthode getTaskResult.
Les types de tâches types
que nous prenons en charge sont les suivants :
AntiAwsWafTask
: ce type de tâche nécessite vos propres proxys.AntiAwsWafTaskProxyLess
: ce type de tâche ne nécessite pas vos propres proxys.
Créer une tâche
Créez une tâche de reconnaissance avec la méthode createTask.
Structure de l’objet de tâche
Propriétés | Type | Requis | Description |
---|---|---|---|
type | String | Required | AntiAwsWafTask AntiAwsWafTaskProxyLess |
proxy | String | Required | Apprenez comment utiliser les proxys |
websiteURL | String | Required | L’URL de la page renvoyant les informations relatives au captcha |
awsKey | String | Optional | La valeur key renvoyée par la page de captcha |
awsIv | String | Optional | La valeur iv renvoyée par la page de captcha |
awsContext | String | Optional | La valeur context renvoyée par la page de captcha |
awsChallengeJS | String | Optional | Le lien challenge.js renvoyé par la page de captcha |
awsProblemUrl | String | Optional | L’URL de l’interface problem contenant des mots-clés tels que problem , num_solutions_required |
Si le jeton obtenu n’est pas disponible, cela peut être dû à l’adresse IP. veuillez essayer d’utiliser le mode AntiAwsWafTask pour passer en revue votre propre proxy.
Si vous ne savez pas quels paramètres doivent être passés à capsolver, référez - vous à ces quatre situations différentes pour passer différents paramètres, et si votre situation n’est pas satisfaite, contactez - nous pour le traitement du service clientèle.
Situation | Passer les paramètres | Conditions préalables |
---|---|---|
Situation 1 | websiteURL | Le Code de réponse de la page AWS CAPTCHA peut être 405 et les paramètres suivants peuvent être trouvés dans HTML:window.gokuProps = {"key":"AQID...","iv":"A6we...","context":"rGXm.."} |
Situation 2 | websiteURL awsKey awsIv awsContext awsChallengeJS | Dans la condition préalable du cas I, si capsolver renvoie une invite d’erreur: Captcha render unexpect status code XXX, please pass in the awsKey, awsIv, awsContext and awsChallengeJs parameters , Pour indiquer que CAPTCHA n’est pas déclenché du côté du service, résolvez manuellement le paramètre key, iv, context passé à capsolver. |
Situation 3 | websiteURL awsChallengeJS | Lorsque la page ne trouve pas key, iv, context, mais a challenge.js, passez challenge.js à capsolver en tant que valeur de awsChallengeJS. |
Situation 4 | websiteURL awsProblemUrl | Version spéciale, quand la page ne peut pas trouver key, iv, context, challenge.js, seulement captcha.js, il est nécessaire de passer l’URL de l’interface problem à capsolver, awsProblemUrl doit contenir les équivalents problem , num_solutions_required , ces valeurs peuvent être trouvées en recherchant visualsolutionsrequired dans le html de la page.awsProblemUrl exemple complet: 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 |
Exemple de demande
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
}
}
Après avoir soumis la tâche, vous devriez recevoir dans la réponse un “ID de tâche” si cela réussit. Veuillez lire errorCode: liste complète des erreurs si vous n’avez pas reçu l’ID de tâche.
Exemple de réponse
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Obtenir les résultats
Après avoir obtenu le taskId, vous devez soumettre le taskId pour récupérer la solution. La structure de la réponse est expliquée dans getTaskResult.
En fonction de la charge du système, vous recevrez les résultats dans l’intervalle de 5s
à 30s
Exemple de demande
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Exemple de réponse
{
"errorId": 0,
"taskId": "646825ef-9547-4a29-9a05-50a6265f9d8a",
"status": "ready",
"solution": {
"cookie": "223d1f60-0e9f-4238-ac0a-e766b15a778e:EQoAf0APpGIKAAAA:AJam3OWpff1VgKIJxH4lGMMHxPVQ0q0R3CNtgcMbR4VvnIBSpgt1Otbax4kuqrgkEp0nFKanO5oPtwt9+Butf7lt0JNe4rZQwZ5IrEnkXvyeZQPaCFshHOISAFLTX7AWHldEXFlZEg7DjIc="
}
}
Utilisation de la demande 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"
})