AwsWafCaptcha: Resolvendo AWS WAF
Crie a tarefa com o método createTask e obtenha o resultado com o método getTaskResult.
Os tipos de tarefa types
que suportamos são:
AntiAwsWafTask
este tipo de tarefa requer seus próprios proxies.AntiAwsWafTaskProxyLess
este tipo de tarefa não requer seus próprios proxies.
Criar Tarefa
Crie uma tarefa de reconhecimento com o método createTask.
Estrutura do Objeto da Tarefa
Propriedades | Tipo | Obrigatório | Descrição |
---|---|---|---|
type | String | Required | AntiAwsWafTask AntiAwsWafTaskProxyLess |
proxy | String | Required | Saiba Como usar proxies |
websiteURL | String | Required | Voltar à URL da página com informações relacionadas ao captcha |
awsKey | String | Optional | O valor key retornado pela página captcha |
awsIv | String | Optional | O valor iv retornado pela página captcha |
awsContext | String | Optional | O valor context retornado pela página captcha |
awsChallengeJS | String | Optional | A página captcha retorna o link challenge.js |
awsProblemUrl | String | Optional | URL da interface problem com palavras-chave problem e num_solutions_required etc. |
Se o cookie retornado não estiver disponível, provavelmente com verificação de IP, tente AntiAwsWafTask
e envie seu próprio proxy.
Se você não sabe quais parâmetros devem ser passados para o capsolver, consulte as quatro situações abaixo para transmitir parâmetros diferentes e, se o seu caso não for satisfeito, entre em contato com o nosso atendimento ao cliente.
Situação | Parâmetros de transmissão | pré-condição |
---|---|---|
Situação 1 | websiteURL | O código de resposta da página de captcha do aws pode ser 405 e os seguintes parâmetros podem ser encontrados no html:window.gokuProps = {"key":"AQID...","iv":"A6we...","context":"rGXm.."} |
Situação 1 | websiteURL awsKey awsIv awsContext awsChallengeJS | Na pré-condição do cenário 1, se o capsolver retornar uma mensagem de erro: Captcha render unexpect status code XXX, please pass in the awsKey, awsIv, awsContext and awsChallengeJs parameters , Para indicar que o servidor não acionou o captcha, analise manualmente os parâmetros key , iv , context para o capsolver. |
Situação 1 | websiteURL awsChallengeJS | Quando a página não encontrar key , iv , context , mas tiver challenge.js , passe challenge.js como valor do awsChallengeJS para o capsolver. |
Situação 1 | websiteURL awsProblemUrl | Em versões especiais, quando a página não pode encontrar key , iv , context , challenge.js , apenas captcha.js , é necessário passar o url da interface problem para o capsolver, o awsProblemUrl deve conter o equivalente problem , num_solutions_required e esses valores podem ser encontrados na pesquisa de visualSolutionsRequired no html da página.awsProblemUrl exemplo completo: 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 |
Exemplo de Requisição
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
}
}
Depois de enviar a tarefa para nós, você deverá receber na resposta um ‘ID da tarefa’ se for bem-sucedido. Leia errorCode: lista completa de erros se você não receber o ID da tarefa.
Exemplo de Resposta
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Obter Resultados
Após obter o ID da tarefa, você precisa enviar o ID da tarefa para recuperar a solução. A estrutura da resposta é explicada em getTaskResult.
Dependendo da carga do sistema, você receberá os resultados no intervalo de 5s
a 30s
Exemplo de Requisição
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Exemplo de Resposta
{
"errorId": 0,
"taskId": "646825ef-9547-4a29-9a05-50a6265f9d8a",
"status": "ready",
"solution": {
"cookie": "223d1f60-0e9f-4238-ac0a-e766b15a778e:EQoAf0APpGIKAAAA:AJam3OWpff1VgKIJxH4lGMMHxPVQ0q0R3CNtgcMbR4VvnIBSpgt1Otbax4kuqrgkEp0nFKanO5oPtwt9+Butf7lt0JNe4rZQwZ5IrEnkXvyeZQPaCFshHOISAFLTX7AWHldEXFlZEg7DjIc="
}
}
Solicitação de Uso da 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"
})