Panduan
Tugas (Token)
reCAPTCHA v3

ReCaptchaV3: menyelesaikan reCAPTCHA v3

TIPS

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

PERINGATAN

Jika Anda tidak tahu cara mengatur parameter, silakan gunakan Ekstensi CapSolver untuk secara otomatis mendapatkan parameter yang diperlukan.


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.

PropertiTipeWajibDeskripsi
typeStringWajibReCaptchaV3Task
ReCaptchaV3TaskProxyLess
ReCaptchaV3EnterpriseTask
ReCaptchaV3EnterpriseTaskProxyLess
websiteURLStringWajibAlamat situs web dengan recaptcha.
websiteKeyStringWajibKunci situs web Recaptcha.
proxyStringOpsionalPelajari Menggunakan proxy.
pageActionStringOpsionalUntuk ReCaptchaV3: Anda dapat menemukan nilai parameter tindakan dengan mencari grecaptcha.execute
enterprisePayloadObjectOpsionalUntuk versi enterprise, cari grecaptcha.enterprise.render dan berikan parameter s.
isSessionBoolOpsionalMode 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.
apiDomainStringOpsionalNama 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)