ガイド
タスク(トークン)
AWS WAF

AwsWafCaptcha: AWS WAFの解決

TIP

createTaskメソッドでタスクを作成し、getTaskResultメソッドで結果を取得します。

サポートするタスクタイプ types:

  • AntiAwsWafTask このタスクタイプは独自のプロキシが必要です。
  • AntiAwsWafTaskProxyLess このタスクタイプは独自のプロキシは必要ありません。

タスクの作成

createTaskメソッドを使用して認識タスクを作成します。

タスクオブジェクト構造

プロパティタイプ必須説明
typeStringRequiredAntiAwsWafTask
AntiAwsWafTaskProxyLess
proxyStringRequiredプロキシの使用を学びます
websiteURLStringRequiredcaptcha 関連情報のページurlに戻る
awsKeyStringOptionalcaptcha ページが返す key
awsIvStringOptionalcaptcha ページが返す iv
awsContextStringOptionalcaptcha ページが返す context
awsChallengeJSStringOptionalcaptcha ページが返す chalenge.js リンク
awsProblemUrlStringOptionalproblemnum_solutions_required などのキーワードを含む problem インタフェースurl
WARNING

取得したトークンが利用できない場合、IPの問題がある可能性があります。自分のプロキシを渡すには、AntiAwsWafTaskモードを使用してみてください。

WARNING

どのパラメータを capsolver に渡すべきか分からない場合は、次の4つの異なる状況を参照して異なるパラメータを渡してください。もしあなたの状況を満たしていない場合は、カスタマーサービスに連絡してください。

ケース引数の転送前提条件
ケース1websiteURLaws captcha ページレスポンスコードは 405 であり、html で次のパラメータを見つけることができます。
window.gokuProps = {"key":"AQID...","iv":"A6we...","context":"rGXm.."}
ケース1websiteURL
awsKey
awsIv
awsContext
awsChallengeJS
ケース1の前提条件で、 capsolver がエラーメッセージを返した場合:Captcha render unexpect status code XXX, please pass in the awsKey, awsIv, awsContext and awsChallengeJs parameters,サービス側が captcha をトリガしていないことを示します。手動で keyivcontext パラメータを解析して capsolver に渡してください。
ケース1websiteURL
awsChallengeJS
ページに keyivcontext が見つかりませんが、challenge.js がある場合は、challenge.js を awsChallengeJS の値として capsolver に渡します。
ケース1websiteURL
awsProblemUrl
特殊なバージョンでは、ページhtml内で visualSolutionsRequired を検索して見つけることができる keyivcontextchallenge.jscaptcha.js だけの場合は、problem インタフェースurlを capsolver に渡す必要があります。awsProblemUrl には、problemnum_solutions_required などの値が含まれているはずです。

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

例のリクエスト

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
    }
}

タスクを提出した後、成功した場合はレスポンスで ‘タスクID’ を受け取るはずです。タスクIDを受け取らなかった場合は、エラーコード:エラーの完全なリストを読んでください。

例のレスポンス

{
    "errorId": 0,
    "errorCode": "",
    "errorDescription": "",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

結果の取得

タスクIDを取得したら、タスクIDを提出して解決策を取得する必要があります。レスポンス構造はgetTaskResultで説明されています。

システムの負荷に応じて、結果を取得するまでの間隔は 5秒 から 30秒 までです。

例のリクエスト

POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
 
{
    "clientKey": "YOUR_API_KEY",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

例のレスポンス

{
  "errorId": 0,
  "taskId": "646825ef-9547-4a29-9a05-50a6265f9d8a",
  "status": "ready",
  "solution": {
    "cookie": "223d1f60-0e9f-4238-ac0a-e766b15a778e:EQoAf0APpGIKAAAA:AJam3OWpff1VgKIJxH4lGMMHxPVQ0q0R3CNtgcMbR4VvnIBSpgt1Otbax4kuqrgkEp0nFKanO5oPtwt9+Butf7lt0JNe4rZQwZ5IrEnkXvyeZQPaCFshHOISAFLTX7AWHldEXFlZEg7DjIc="
  }
}

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"
})