Guide
Tâche (Token)
AWS WAF

AwsWafCaptcha : Résolution d’AWS WAF

TIP

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ésTypeRequisDescription
typeStringRequiredAntiAwsWafTask
AntiAwsWafTaskProxyLess
proxyStringRequiredApprenez comment utiliser les proxys
websiteURLStringRequiredL’URL de la page renvoyant les informations relatives au captcha
awsKeyStringOptionalLa valeur key renvoyée par la page de captcha
awsIvStringOptionalLa valeur iv renvoyée par la page de captcha
awsContextStringOptionalLa valeur context renvoyée par la page de captcha
awsChallengeJSStringOptionalLe lien challenge.js renvoyé par la page de captcha
awsProblemUrlStringOptionalL’URL de l’interface problem contenant des mots-clés tels que problem, num_solutions_required
WARNING

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.

WARNING

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.

SituationPasser les paramètresConditions préalables
Situation 1websiteURLLe 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 2websiteURL
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 3websiteURL
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 4websiteURL
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"
})