Hướng dẫn
Nhiệm vụ(Token)
AWS WAF

AwsWafCaptcha: Giải quyết AWS WAF

TIP

Tạo nhiệm vụ bằng cách sử dụng phương pháp createTask và nhận kết quả bằng cách sử dụng phương pháp getTaskResult.

Chúng tôi hỗ trợ các loại nhiệm vụ sau:

  • AntiAwsWafTask - Loại nhiệm vụ này yêu cầu bạn sử dụng proxy của riêng bạn.
  • AntiAwsWafTaskProxyLess - Loại nhiệm vụ này không yêu cầu bạn sử dụng proxy của riêng bạn.

Tạo Nhiệm Vụ

Tạo nhiệm vụ nhận diện bằng cách sử dụng phương pháp createTask.

Cấu trúc Đối tượng Nhiệm vụ

Thuộc tínhKiểuBắt buộcMô tả
typeStringRequiredAntiAwsWafTask
AntiAwsWafTaskProxyLess
proxyStringRequiredTìm hiểu cách sử dụng proxy
websiteURLStringRequiredQuay lại URL trang của captcha cho thông tin liên quan
awsKeyStringOptionalGiá trị key được trả về bởi trang captcha
awsIvStringOptionalGiá trị iv được trả về bởi trang captcha
awsContextStringOptionalGiá trị context được trả về bởi trang captcha
awsChallengeJSStringOptionalLiên kết challenge.js được trả về bởi trang captcha
awsProblemUrlStringOptionalproblem giao diện url chứa các từ khóa như problem, num_solutions_required
WARNING

Nếu cookie trả về không khả dụng, có thể cần xác minh IP, vui lòng thử AntiAwsWafTask và gửi proxy của riêng bạn.

WARNING

Nếu bạn không biết nên truyền tham số nào cho capsolver, vui lòng tham khảo bốn tình huống khác nhau sau đây để truyền các tham số khác nhau. Nếu không có giải pháp nào đáp ứng được nhu cầu của bạn, vui lòng liên hệ với dịch vụ khách hàng của chúng tôi.

Trường hợpTruyền tham sốĐiều kiện tiên quyết
Trường hợp 1websiteURLMã phản hồi của trang captcha AWS có thể là 405 và các tham số sau có thể được tìm thấy trong html:
window.gokuProps = {"key":"AQID...","iv":"A6we...","context":"rGXm.."}
Trường hợp 2websiteURL
awsKey
awsIv
awsContext
awsChallengeJS
Theo tiền đề của trường hợp 1, nếu capsolver trả về thông báo lỗi: Captcha render unexpect status code XXX, please pass in the awsKey, awsIv, awsContext and awsChallengeJs parameters, điều đó có nghĩa là máy chủ không kích hoạt captcha. Vui lòng phân tích cú pháp thủ công các tham số key, ivcontext và truyền chúng cho capsolver.
Trường hợp 3websiteURL
awsChallengeJS
Khi trang không tìm thấy key, iv, context, nhưng có challenge.js, hãy truyền challenge.js cho capsolver làm giá trị của awsChallengeJS.
Trường hợp 4websiteURL
awsProblemUrl
Phiên bản đặc biệt, khi trang không tìm thấy key, iv, context, challenge.js và chỉ tìm thấy captcha.js, bạn cần truyền url giao diện problem cho capsolver, awsProblemUrl phải chứa các giá trị như problemnum_solutions_required, có thể tìm thấy bằng cách tìm kiếm visualSolutionsRequired trong html của trang.

awsProblemUrl ví dụ đầy đủ: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

Ví dụ yêu cầu

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

Sau khi bạn gửi nhiệm vụ cho chúng tôi, bạn nên nhận được ‘ID nhiệm vụ’ trong phản hồi nếu nó thành công. Xin đọc errorCode: danh sách đầy đủ các lỗi nếu bạn không nhận được ID nhiệm vụ.

Ví dụ Phản hồi

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

Lấy Kết quả

Sau khi bạn có taskId, bạn cần gửi taskId để lấy giải pháp. Cấu trúc phản hồi được giải thích ở getTaskResult.

Tùy thuộc vào tải của hệ thống, bạn sẽ nhận kết quả trong khoảng từ 5 giây đến 30 giây

Ví dụ yêu cầu

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

Ví dụ Phản hồi

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

Sử dụng Yêu cầu 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"
})