Panduan
Tugas (Token)
reCAPTCHA v3

ReCaptchaV3: menyelesaikan reCAPTCHA v3

TIPS

Buat tugas dengan metode createTask dan dapatkan hasilnya dengan metode getTaskResult.

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.

Versi tugas nilai tinggi (M1)

M1 adalah tipe tugas skor tinggi untuk reCAPTCHA v3. Lebih mahal dari versi standar.

  • Hubungi kami sebelum menggunakan M1
  • Perlu disesuaikan dengan situs tertentu
  • Mungkin hanya berfungsi dengan baik di beberapa situs web

Daftar harga

VersiJenis TugasHarga
Edisi Standar V3ReCaptchaV3Task
ReCaptchaV3TaskProxyLess
$1/k
Edisi Perusahaan V3ReCaptchaV3EnterpriseTask
ReCaptchaV3EnterpriseTaskProxyLess
$3/k
Standar Edisi Tinggi M1ReCaptchaV3M1Task
ReCaptchaV3M1TaskProxyLess
$3/k
skor perusahaan tinggi M1ReCaptchaV3EnterpriseM1Task
ReCaptchaV3EnterpriseM1TaskProxyLess
$10/k
Tipe tugas M1 adalah jenis tugas dengan biaya tinggi. Silakan konfirmasikan harga dan kebutuhan adaptasi kepada layanan pelanggan sebelum menggunakannya untuk produksi.
PropertiTipeWajibDeskripsi
typeStringWajibEdisi Standar
ReCaptchaV3Task
ReCaptchaV3TaskProxyLess
ReCaptchaV3EnterpriseTask
ReCaptchaV3EnterpriseTaskProxyLess

Distribusi tinggi (M1)
ReCaptchaV3M1Task
ReCaptchaV3M1TaskProxyLess
ReCaptchaV3EnterpriseM1Task
ReCaptchaV3EnterpriseM1TaskProxyLess
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)