Panduan
Tugas (Token)
Geetest

GeeTestTask: menyelesaikan Geetest

TIP

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

Jenis tugas types yang kami dukung:

  • GeeTestTaskProxyLess

JENIS GAMBAR YANG DIDUKUNG

TipeCatatanStatus
img.pnggeserstabil
img_2.pngklik ikonstabil
img_2.pngikon hancurstabil
img_2.pngsembilanstabil
img_2.pnggobangstabil

Buat Tugas

Buat tugas dengan createTask untuk membuat tugas.

Struktur Objek Tugas

PropertiTipeWajibDeskripsi
typeStringWajibGeeTestTaskProxyLess
websiteURLStringWajibAlamat web situs yang menggunakan geetest (Contoh: https://geetest.com)
gtStringWajibHanya diperlukan untuk Geetest V3
challengeStringWajibHanya diperlukan untuk Geetest V3
captchaIdStringOpsionalHanya diperlukan untuk Geetest V4
geetestApiServerSubdomainStringOpsionalSubdomain API khusus, contoh: api.geetest.com

Contoh Permintaan

Contoh permintaan menggunakan Geetest V3

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type":"GeetestTaskProxyless",
        "websiteURL":"https://mywebsite.com/geetest/test.php",
        "gt":"",
        "challenge":"",
        "geetestApiServerSubdomain":"api.geetest.com" // Optional
    }
}

Contoh Permintaan Menggunakan Geetest V4

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type":"GeetestTaskProxyless",
        "websiteURL":"https://mywebsite.com/geetest/test.php",
        "captchaId": "..."
    }
}

Contoh Respon

{
    "errorId": 0,
    "status": "idle",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Mendapatkan Hasil

Gunakan getTaskResult untuk mendapatkan hasilnya, tergantung pada beban sistem, Anda akan mendapatkan hasilnya dalam interval 3s hingga 10s

Contoh Permintaan

POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
 
{
    "clientKey":"YOU_API_KEY",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Contoh Respon

Contoh respon menggunakan GeetestV3

{
  "errorId": 0,
  "solution": {
    "challenge": "",
    "validate": ""
  },
  "status": "ready"
}

Contoh Respon Menggunakan GeetestV4

{
  "errorId": 0,
  "taskId": "e0ecaaa8-06f6-41fd-a02e-a0c79b957b15",
  "status": "ready",
  "solution": {
    "captcha_id": "",
    "captcha_output": "",
    "gen_time": "",
    "lot_number": "",
    "pass_token": "",
    "risk_type": "slide"
  }
}

Gunakan Permintaan SDK

# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
 
import capsolver
 
capsolver.api_key = "..."
# v3
solution = capsolver.solve({
    "type": "GeeTestTaskProxyLess",
    "websiteURL": "http://mywebsite.com/geetest/test.php",
    "gt": "...",
    "challenge": "..."
})
 
# v4
solution = capsolver.solve({
    "type": "GeeTestTaskProxyLess",
    "websiteURL": "http://mywebsite.com/geetest/test.php",
    "captchaId": "..."
})

Contoh Kode

# pip install requests
import requests
import time
 
api_key = "YOUR_API_KEY"  # TODO: your api key of capsolver
 
 
def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": 'GeeTestTaskProxyLess',
            "websiteURL": "https://mywebsite.com/geetest/test.php",  # page url of your site
            "gt": "...",  # v3 is required
            "challenge":   "...",  # v3 is required
            "captchaId":   "...",  # v4 is required
        }
    }
    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")
        if status == "failed" or resp.get("errorId"):
            print("Solve failed! response:", res.text)
            return
 
 
solution = capsolver()
print(solution)

Poin-poin penting

  1. Harap jangan menyalin langsung dari Browser Developer Tool, GET GT dan challenge pada permintaan.

  2. Sejumlah kecil kesalahan untuk mendapatkan kembali parameter kode verifikasi dapat dicoba lagi.

  3. Parameter kode verifikasi hanya dapat diserahkan untuk identifikasi sekali, jangan mengulang parameter yang sama yang diserahkan untuk identifikasi, perlu untuk menginisialisasi ulang akuisisi.

  4. Catatan: Jika Anda tidak dapat melewati situs mungkin ada masalah pengkodean, maka simbol CAPTCHA = diganti dengan %3D, lainnya tanpa pengkodean, harap perhatikan ini.

  5. Parameter seperti server uji dapat ditanyakan di sini dalam dokumen Geetest.