Datadome: giải mã captcha DataDome
Tạo tác vụ bằng phương thức createTask và nhận kết quả bằng phương thức getTaskResult.
ℹ️ Loại tác vụ này yêu cầu bạn phải có proxy riêng.
ℹ️ Vui lòng đảm bảo userAgent khớp: userAgent bạn gửi đến API của chúng tôi phải giống với userAgent bạn sử dụng
Slider Captcha và Interstitial (Kiểm tra thiết bị)
Các loại tác vụ types mà chúng tôi hỗ trợ:
DatadomeSliderTaskloại tác vụ này yêu cầu bạn phải có proxy riêng.
Tạo tác vụ
Tạo tác vụ bằng createTask.
IP của bạn đã bị cấm trực tiếp, và bạn phải thay đổi IP.
Cấu trúc đối tượng tác vụ
| Thuộc tính | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
| type | String | Bắt buộc | DataDomeSliderTask (Cả slider và interstitial đều sử dụng kiểu này) |
| captchaUrl | String | Bắt buộc | nếu URL chứa t=bv có nghĩa là IP của bạn đã bị cấm, t phải là t=fe |
| userAgent | String | Bắt buộc | Nó cần phải giống với userAgent bạn sử dụng để yêu cầu trang web. Hiện tại chúng tôi chỉ hỗ trợ các userAgent sau |
| proxy | String | Bắt buộc | Tìm hiểu Sử dụng proxy |
Vui lòng sử dụng userAgent cố định mà chúng tôi cung cấp để yêu cầu trang web.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
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": "DatadomeSliderTask",
"captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAAAAMA1QGvUmJwyYoAwpyjNg%3D%3D&hash=789361B674144528D0B7EE76B35826&cid=6QAEcL8coBYTi9tYLmjCdyKmNNyHz1xwM2tMHHGVd_Rxr6FsWrb7H~a04csMptCPYfQ25CBDmaOZpdDa4qwAigFnsrzbCkVkoaBIXVAwHsjXJaKYXsTpkBPtqJfLMGN&t=fe&referer=https%3A%2F%2bck.websiteurl.com%2Fclient%2Fregister%2FYM4HJV%3Flang%3Den&s=40070&e=3e531bd3b30650f2e810ac72cd80adb5eaa68d2720e804314d122fa9e84ac25d",
// userAgent is the one you are using:
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
"proxy": "158.120.100.23:334:user:pass",
}
}Ví dụ phản hồi
{
"errorId": 0,
"status": "idle",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Lấy kết quả
Sử dụng phương thức getTaskResult để lấy kết quả nhận dạng
Tùy thuộc vào tải hệ thống, bạn sẽ nhận được kết quả trong khoảng thời gian từ 1s đến 20s
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": {
"cookie": "datadome=yzj_BK...S0; Max-Age=31536000; Domain=; Path=/; Secure; SameSite=Lax"
},
"status": "ready"
}Khắc phục lỗi
Lỗi thường gặp
- Cookie do API trả về không hoạt động — vẫn nhận lỗi 403.
- API trả về: “Proxy IP bị dịch vụ mục tiêu cấm”.
- API trả về: “Không thể giải mã captcha: 1013”.
Các bước khắc phục sự cố
- Thử thay đổi proxy – IP của bạn có thể bị đưa vào danh sách đen.
- Kiểm tra loại proxy – Một số trang web xác minh tính nhất quán của IP. Nếu bạn đang sử dụng proxy xoay vòng (rotating), hãy thử chuyển sang proxy cố định (sticky).
- Kiểm tra userAgent – userAgent gửi đến API của chúng tôi phải khớp với userAgent được sử dụng cho trang web mục tiêu.
- Kiểm tra Accept-Language – Một số trang web yêu cầu nó phải khớp với ngôn ngữ khu vực của trang web.
- Gỡ lỗi mã/chương trình của bạn (ví dụ: TLS, tiêu đề):
- Sao chép thủ công cookie DataDome từ trình duyệt của bạn vào mã và chạy lại.
- Nếu vẫn thất bại, mã của bạn có thể có vấn đề—hãy kiểm tra TLS và các tiêu đề.
- Kiểm tra tiêu đề – Đảm bảo chúng khớp với những gì trình duyệt thực gửi, bao gồm cả thứ tự của các tiêu đề.
- Kiểm tra dấu vân tay TLS – Sử dụng thư viện mô phỏng các bắt tay TLS thực.
- Nếu lỗi vẫn tiếp diễn sau tất cả các kiểm tra, vui lòng báo cáo vấn đề cho chúng tôi.
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": "DatadomeSliderTask",
"websiteURL": "https://bck.websiteurl.com/",
"captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAAAAMA1QGvUmJwyYoAwpyjNg%3D%3D&hash=789361B674144528D0B7EE76B35826&cid=6QAEcL8coBYTi9tYLmjCdyKmNNyHz1xwM2tMHHGVd_Rxr6FsWrb7H~a04csMptCPYfQ25CBDmaOZpdDa4qwAigFnsrzbCkVkoaBIXVAwHsjXJaKYXsTpkBPtqJfLMGN&t=fe&referer=https%3A%2F%2bck.websiteurl.com%2Fclient%2Fregister%2FYM4HJV%3Flang%3Den&s=40070&e=3e531bd3b30650f2e810ac72cd80adb5eaa68d2720e804314d122fa9e84ac25d",
# userAgent is the one you are using:
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
"proxy": "158.120.100.23:334:user:pass"
})Mã mẫu
# pip install requests
import requests
import time
api_key = "YOUR_API_KEY" # khóa API của bạn cho capsolver
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'DatadomeSliderTask',
"websiteURL": "https://bck.websiteurl.com/",
"captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAAAAMA1QGvUmJwyYoAwpyjNg%3D%3D&hash=789361B674144528D0B7EE76B35826&cid=6QAEcL8coBYTi9tYLmjCdyKmNNyHz1xwM2tMHHGVd_Rxr6FsWrb7H~a04csMptCPYfQ25CBDmaOZpdDa4qwAigFnsrzbCkVkoaBIXVAwHsjXJaKYXsTpkBPtqJfLMGN&t=fe&referer=https%3A%2F%2bck.websiteurl.com%2Fclient%2Fregister%2FYM4HJV%3Flang%3Den&s=40070&e=3e531bd3b30650f2e810ac72cd80adb5eaa68d2720e804314d122fa9e84ac25d",
"proxy": "158.120.100.23:334:user:pass",
"userAgent": "vui lòng sử dụng userAgent được chúng tôi hỗ trợ. Nó cần phải khớp với userAgent bạn đang sử dụng"
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Failed to create task:", res.text)
return
print(f"Got taskId: {task_id} / Getting result...")
while True:
time.sleep(1) # delay
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get("cookie")
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
cookie = capsolver()
print(cookie)