Guia
Tarefa (Token)
AWS WAF

AwsWafCaptcha: Resolvendo AWS WAF

TIP

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

PropriedadesTipoObrigatórioDescrição
typeStringRequiredAntiAwsWafTask
AntiAwsWafTaskProxyLess
proxyStringRequiredSaiba Como usar proxies
websiteURLStringRequiredVoltar à URL da página com informações relacionadas ao captcha
awsKeyStringOptionalO valor key retornado pela página captcha
awsIvStringOptionalO valor iv retornado pela página captcha
awsContextStringOptionalO valor context retornado pela página captcha
awsChallengeJSStringOptionalA página captcha retorna o link challenge.js
awsProblemUrlStringOptionalURL da interface problem com palavras-chave problem e num_solutions_required etc.
WARNING

Se o cookie retornado não estiver disponível, provavelmente com verificação de IP, tente AntiAwsWafTask e envie seu próprio proxy.

WARNING

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çãoParâmetros de transmissãopré-condição
Situação 1websiteURLO 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 1websiteURL
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 1websiteURL
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 1websiteURL
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"
})