ReCaptchaV3: menyelesaikan reCAPTCHA v3
Buat tugas dengan metode createTask dan dapatkan hasilnya dengan metode getTaskResult.
Jenis tugas types
yang kami dukung:
ReCaptchaV3Task
jenis tugas ini membutuhkan proxy Anda sendiri.ReCaptchaV3EnterpriseTask
jenis tugas ini membutuhkan proxy Anda sendiri.ReCaptchaV3TaskProxyLess
menggunakan proxy bawaan server.ReCaptchaV3EnterpriseTaskProxyLess
menggunakan proxy bawaan server.
Membuat Tugas
Buat tugas dengan metode createTask.
Sebelum membuat tugas, jika Anda perlu menggunakan token dalam alat otomatisasi seperti playwright dan puppeteer, Anda mungkin perlu menemukan fungsi callback-nya. Referensi:
Struktur Objek Tugas
Jika Anda tidak tahu cara mengatur parameter, silakan gunakan Ekstensi CapSolver untuk secara otomatis mendapatkan parameter yang diperlukan.
- Artikel referensi: Cara mendeteksi Captcha apa pun dan mengekstrak parameternya
Jika Anda menemukan bahwa token v3 tidak valid, silakan gunakan Ekstensi CapSolver untuk mendapatkan konfigurasi JSON dan kirimkan ke layanan pelanggan kami untuk konfigurasi. Setelah konfigurasi, ini akan sangat meningkatkan skor token.
- Artikel referensi: Cara menyelesaikan reCAPTCHA v2, invisible v2, v3, v3 Enterprise ≥0.9 skor)
Properti | Tipe | Wajib | Deskripsi |
---|---|---|---|
type | String | Wajib | ReCaptchaV3Task ReCaptchaV3TaskProxyLess ReCaptchaV3EnterpriseTask ReCaptchaV3EnterpriseTaskProxyLess |
websiteURL | String | Wajib | Alamat situs web dengan recaptcha. |
websiteKey | String | Wajib | Kunci situs web Recaptcha. |
proxy | String | Opsional | Pelajari Menggunakan proxy. |
pageAction | String | Opsional | Untuk ReCaptchaV3: Anda dapat menemukan nilai parameter tindakan dengan mencari grecaptcha.execute |
enterprisePayload | Object | Opsional | Untuk versi enterprise, cari grecaptcha.enterprise.render dan berikan parameter s. |
isSession | Bool | Opsional | Mode sesi, ketika diaktifkan, akan mengembalikan nilai recaptcha-ca-t , yang digunakan sebagai cookie. Ini biasanya muncul di v3.Catatan: Beberapa situs web memerlukan nilai recaptcha-ca-e , yang biasanya muncul di v2. Jika nilai ini ada, itu akan secara otomatis dikembalikan tanpa pengaturan parameter tambahan. |
apiDomain | String | Opsional | Nama domain untuk memuat captcha. Biasanya, parameter ini tidak perlu dilewatkan. • http://www.google.com/ • http://www.recaptcha.net/ |
Contoh Permintaan
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaV2Task",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"enterprisePayload": {
"s": "SOME_ADDITIONAL_TOKEN" // Opsional
},
"isInvisible": false, // Opsional
"pageAction": "submit", // Opsional
"apiDomain": "", // Opsional
"proxy": "http:ip:port:user:pass", // socks5:ip:port:user:pass, Opsional
}
}
Setelah Anda mengirimkan tugas kepada kami, Anda akan menerima ‘taskId’ dalam respons jika berhasil. Silakan baca errorCode: daftar lengkap kesalahan jika Anda tidak menerima id tugas.
Contoh Tanggapan
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Mendapatkan Hasil
Setelah Anda memiliki taskId, Anda perlu mengirimkan taskId untuk mengambil solusinya. Struktur respons dijelaskan dalam getTaskResult.
Tergantung pada beban sistem, Anda akan mendapatkan hasilnya dalam interval 1s
hingga 10s
Contoh Permintaan
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Contoh Tanggapan
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"userAgent": "xxx", // User-Agent
"secChUa": "xxx", // Sec-Ch-Ua
"createTime": 1671615324290, // Waktu pembuatan token
"gRecaptchaResponse": "3AHJ......", // token
"recaptcha-ca-t": "AbEM......", // Beberapa situs web v3 memiliki mode sesi. Setelah mengaktifkan isSession, parameter ini akan dikembalikan dan digunakan sebagai cookie.
"recaptcha-ca-e": "Abp_......" // Beberapa situs web v2 memiliki parameter ini, yang digunakan sebagai cookie. Jika ada nilai tersebut, itu akan secara otomatis dikembalikan.
},
"status": "ready"
}
Menggunakan Permintaan SDK
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": "https://www.google.com",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-",
"pageAction": "login",
})
Contoh Kode
# pip install requests
import requests
import time
# TODO: atur konfigurasi Anda
api_key = "YOUR_API_KEY" # kunci api capsolver Anda
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-" # kunci situs dari situs target Anda
site_url = "https://www.google.com" # URL halaman dari situs target Anda
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV3TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url,
"pageAction": "login",
}
}
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) # jeda
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('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
token = capsolver()
print(token)