Contourner le WAF d'Amazon
Il existe deux options pour l'utilisation de ce captcha sur les pages de destination :
1. Page de filtrage des bots qu'Amazon affiche automatiquement lorsque vous visitez un site web derrière leur pare-feu. Nous l'appelons "gokuProps", car vous pouvez trouver les paramètres window.gokuProps dans le code source de cette page.
2. Widget captcha autonome qui est déclenché par l'action de l'utilisateur. Nous l'appelons Widget.
Identifiez vous-même le type de captcha et utilisez le sélecteur ci-dessous pour afficher différentes versions de la documentation et des exemples.
Utilisez ce type de tâches pour obtenir le jeton de cookie Amazon WAF. Il suffit de saisir les jetons temporaires iv et context avec la clé de site permanente key et de les envoyer à notre API. Le résultat de la tâche est un jeton que vous pouvez utiliser dans votre requête HTTP en tant que valeur de cookie avec le nom amazon-waf-token.
Testez d'abord ce type de tâche pour le taux de contournement avant de tester les tâches avec des proxys.

Comment résoudre Amazon WAF gokuProps en Python
#pip3 install anticaptchaofficial
from anticaptchaofficial.amazonproxyless import *
solver = amazonProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY")
solver.set_website_url("https://website.com")
solver.set_website_key("key_value_from_window.gokuProps_object")
solver.set_iv("iv_value_from_window.gokuProps_object")
solver.set_context("context_value_from_window.gokuProps_object")
# Optional script URLs
solver.set_captcha_script("https://e9b10f157f38.9a96e8b4.us-gov-west-1.captcha.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/captcha.js")
solver.set_challenge_script("https://e9b10f157f38.9a96e8b4.us-gov-west-1.token.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/challenge.js")
# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)
token = solver.solve_and_return_solution()
if token != 0:
print("token: "+token)
# user-agent in case you need it:
print("user-agent: "+solver.get_user_agent())
else:
print("task finished with error "+solver.error_code)Objet de tâche
| Propriété | Type | Obligatoire | Objectif |
|---|---|---|---|
| type | String | Oui | AmazonTaskProxyless |
| websiteURL | String | Oui | Adresse d'une page Web cible. Peut être située n'importe où sur le site Web, même dans une zone membre. Nos travailleurs n'y naviguent pas, mais simulent plutôt la visite. |
| websiteKey | String | Oui | Valeur de key de l'objet window.gokuProps dans le code source de la page WAF. |
| iv | String | Oui | Valeur de iv de l'objet window.gokuProps dans le code source de la page WAF. |
| context | String | Oui | Valeur de context de l'objet window.gokuProps dans le code source de la page WAF. |
| captchaScript | String | Non | URL optionnelle menant à captcha.js |
| challengeScript | String | Non | URL optionnelle menant à challenge.js |
Objet de solution de tâche
| Propriété | Type | Objectif |
|---|---|---|
| token | String | Utilisez ce jeton comme valeur de cookie avec le nom "aws-waf-token" dans votre demande à la page web cible. |
| userAgent | String | User-Agent du navigateur du travailleur. Utilisez-le lorsque vous soumettez le jeton de réponse. |
Exemple de réponse
{
"errorId":0,
"status":"ready",
"solution": {
"token": "fe4c2ff3-6ed6-40fa-95c9-4c738a7dad49:FgoAe0ZLBmYBAAAA:LK0S/m1nGbfjDk/9i6tMmiUWGecMfyjvuAx9lY6ZhaBUmjrILEqW00UAsEliykPjwebdzn9J3...",
"userAgent":"Mozilla\5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"
},
"cost":"0.002000",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}