AwsWafCaptcha: resolviendo AWS WAF
Crea la tarea con el método createTask y obtén el resultado con el método getTaskResult.
Los tipos de tarea que admitimos son:
AntiAwsWafTask
: este tipo de tarea requiere tus propios proxies.AntiAwsWafTaskProxyLess
: este tipo de tarea no requiere tus propios proxies.
Crear una tarea
Crea una tarea de reconocimiento con el método createTask.
Estructura del objeto de tarea
Propiedades | Tipo | Requerido | Descripción |
---|---|---|---|
type | String | Required | AntiAwsWafTask AntiAwsWafTaskProxyLess |
proxy | String | Optional | Uso de proxies |
websiteURL | String | Required | Devuelve la URL de la página con información relacionada con el captcha |
awsKey | String | Optional | El valor clave devuelto por la página captcha |
awsIv | String | Optional | El valor iv devuelto por la página captcha |
awsContext | String | Optional | El valor context devuelto por la página captcha |
awsChallengeJS | String | Optional | El enlace challenge.js devuelto por la página captcha |
awsProblemUrl | String | Optional | URL de interfaz problema que contiene palabras clave como problema , num_solutions_required |
Si el token obtenido no está disponible, puede deberse a la dirección IP. Intenta utilizar el modo AntiAwsWafTask para proporcionar tus propios proxies.
Si no sabe qué parámetros pasar a capsolver, consulte las siguientes cuatro situaciones diferentes para pasar diferentes parámetros. Si ninguno de ellos satisface sus necesidades, póngase en contacto con nuestro servicio de atención al cliente.
Caso | Pasando parámetros | Prerrequisitos |
---|---|---|
Caso 1 | websiteURL | El código de respuesta de la página captcha de AWS puede ser 405 y los siguientes parámetros se pueden encontrar en el HTML:window.gokuProps = {"key":"AQID...","iv":"A6we...","context":"rGXm.."} |
Caso 2 | websiteURL awsKey awsIv awsContext awsChallengeJS | Bajo la condición previa del caso 1, si capsolver devuelve un mensaje de error:Captcha render unexpect status code XXX, please pass in the awsKey, awsIv, awsContext and awsChallengeJs parameters , Significa que el servidor no activó el captcha. Analice manualmente los parámetros key, iv y context y páselos a capsolver. |
Caso 3 | websiteURL awsChallengeJS | Cuando la página no puede encontrar key, iv, context, pero tiene challenge.js, pase challenge.js a capsolver como el valor de awsChallengeJS. |
Caso 4 | websiteURL awsProblemUrl | Versión especial, cuando la página no puede encontrar key, iv, context, challenge.js, y solo tiene captcha.js, debe pasar la URL de la interfaz del problema a capsolver, awsProblemUrl debe contener valores como problem y num_solutions_required , que se pueden encontrar buscando visualSolutionsRequired en la página html.Ejemplo completo de awsProblemUrl: 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 |
Ejemplo de solicitud
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
}
}
Después de enviar la tarea, deberías recibir en la respuesta un ‘ID de tarea’ si la operación es exitosa. Por favor, consulta errorCode: lista completa de errores si no recibiste el ID de tarea.
Ejemplo de respuesta
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Obtener resultados
Una vez que tengas el ID de tarea, debes enviarlo para obtener la solución. La estructura de la respuesta se explica en getTaskResult.
Dependiendo de la carga del sistema, obtendrás los resultados en un intervalo de 5 segundos
a 30 segundos
.
Ejemplo de solicitud
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Ejemplo de respuesta
{
"errorId": 0,
"taskId": "646825ef-9547-4a29-9a05-50a6265f9d8a",
"status": "ready",
"solution": {
"cookie": "223d1f60-0e9f-4238-ac0a-e766b15a778e:EQoAf0APpGIKAAAA:AJam3OWpff1VgKIJxH4lGMMHxPVQ0q0R3CNtgcMbR4VvnIBSpgt1Otbax4kuqrgkEp0nFKanO5oPtwt9+Butf7lt0JNe4rZQwZ5IrEnkXvyeZQPaCFshHOISAFLTX7AWHldEXFlZEg7DjIc="
}
}
Uso de la solicitud del 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"
})