Giải quyết reCaptcha v3
Tạo nhiệm vụ bằng phương thức createTask và nhận kết quả bằng phương thức getTaskResult.
Các loại nhiệm vụ mà chúng tôi hỗ trợ:
ReCaptchaV3Task
: Loại nhiệm vụ này yêu cầu bạn sử dụng proxy riêng của bạn.ReCaptchaV3EnterpriseTask
: Loại nhiệm vụ này yêu cầu bạn sử dụng proxy riêng của bạn.ReCaptchaV3TaskProxyLess
: Sử dụng proxy tích hợp sẵn trên máy chủ.ReCaptchaV3EnterpriseTaskProxyLess
: Sử dụng proxy tích hợp sẵn trên máy chủ.
Tạo Nhiệm Vụ
Tạo một nhiệm vụ nhận dạng bằng phương thức createTask.
Trước khi tạo một nhiệm vụ, bạn có thể tìm hiểu về các điều sau đây:
Nếu bạn nhận được phản hồi không hợp lệ, bạn có thể tìm hiểu về:
Cấu Trúc Đối Tượng Nhiệm Vụ
Thuộc Tính | Loại | Bắt Buộc | Mô Tả |
---|---|---|---|
type | String | Required | ReCaptchaV3Task ReCaptchaV3TaskProxyLess ReCaptchaV3EnterpriseTask ReCaptchaV3EnterpriseTaskProxyLess |
websiteURL | String | Required | Địa chỉ web của trang web sử dụng thường là giá trị cố định. (Ví dụ: https://google.com) |
websiteKey | String | Required | Khóa công khai của tên miền, hiếm khi được cập nhật. (Ví dụ: b989d9e8-0d14-41sda0-870f-97b5283ba67d) |
proxy | String | Optional | Tìm hiểu thêm về Sử dụng proxy |
pageAction | String | Optional | Đối với trang web v2: Trong yêu cầu anchor, nếu có tham số sa, hãy vượt qua tham số Đối với trang web v3: tìm kiếm grecaptcha.execute để tìm tham số hành động |
enterprisePayload | Object | Optional | Phiên bản doanh nghiệp tìm kiếm grecaptcha.enterprise.render để truyền tham số s bên trong |
isSession | Bool | Optional | Chế độ session, khi được kích hoạt, trả về một giá trịrecaptcha-ca-t , được sử dụng như một cookie, thường xuất hiện trong v3Lưu ý: Một số trang web yêu cầu giá trị recaptcha-ca-e , thường xuất hiện trong v2, giá trị này sẽ tự động được trả về mà không cần cài đặt thêm tham số. |
apiDomain | String | Optional | Tên miền tải CAPTCHA, thường không cần vượt qua tham số này • http://www.google.com/ • http://www.recaptcha.net/ |
Nếu bạn không chắc chắn làm thế nào để vượt qua các thông số, vui lòng tham khảo blog của chúng tôi Sử dụng phần mở rộng capsolver để tự động lấy các tham số.
Nếu bạn thấy điểm token của mình thấp, hãy gửi dữ liệu json được thu thập bởi tiện ích mở rộng đến dịch vụ khách hàng để tối ưu hóa.
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": "ReCaptchaV3Task",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"enterprisePayload": {
"s": "SOME_ADDITIONAL_TOKEN" // Optional
},
"pageAction": "submit", // Optional
"apiDomain": "", // Optional
"proxy": "http:ip:port:user:pass", // socks5:ip:port:user:pass, Optional
}
}
Sau khi bạn gửi nhiệm vụ cho chúng tôi, bạn nên nhận được một ‘Task id’ trong phản hồi nếu thành công. Vui lòng đọc errorCode: full list of errors nếu bạn không nhận được Task id.
Ví dụ Phản Hồi
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Nhận Kết Quả
Sau khi bạn có taskId, bạn cần gửi taskId đó để nhận giải pháp. Cấu trúc phản hồi được giải thích trong getTaskResult.
Tùy thuộc vào tải hệ thống, bạn sẽ nhận được kết quả trong khoảng từ 1 giây
đến 10 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,
"errorCode": null,
"errorDescription": null,
"solution": {
"userAgent": "xxx", // User-Agent
"createTime": 1671615324290, // Thời gian tạo token
"gRecaptchaResponse": "3AHJ......", // Token
"recaptcha-ca-t": "AbEM......", // Một số trang web v3 có chế độ session, khi kích hoạt isSession sẽ trả về tham số này để sử dụng như một cookie
"recaptcha-ca-e": "Abp_......" // Một số trang web v2 có tham số này và được sử dụng như một cookie, nếu có, giá trị sẽ tự động được trả về.
},
"status": "ready"
}
Sử Dụng Yêu Cầu SDK
Ví dụ Python:
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-", ...
})
Ví dụ Go (Golang):
package main
import (
"fmt"
capsolver_go "github.com/capsolver/capsolver-go"
"log"
)
func main() {
// Trước tiên, bạn cần cài đặt SDK
// go get github.com/capsolver/capsolver-go
// export CAPSOLVER_API_KEY='...' hoặc
// capSolver := CapSolver{ApiKey:"..."}
capSolver := capsolver_go.CapSolver{}
solution, err := capSolver.Solve(map[string]any{
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-",
})
if err != nil {
log.Fatal(err)
return
}
fmt.Println(solution)
}