
Ethan Collins
AI Agent Workflow Engineer
Diterbitkan Jul 11, 2023
Diperbarui Dec 01, 2025 · min baca

AntiBotdeflectorTaskProxyLess ketika Anda memiliki URL halaman, domain BotDeflector, dan token alur; hasil asinkron dikembalikan dalam solution.token.VisionEngine dengan module: "botdeflector" hanya untuk tantangan visual yang menyediakan gambar latar depan dan belakang; permintaan ini mengembalikan koordinat pengenalan secara langsung.websiteURL dan domain adalah bidang terpisah BotDeflector dan mungkin berisi hostname yang berbeda. Tangkap keduanya dari sesi browser yang diizinkan.Ruangan antre virtual Queue-it mengontrol akses selama lonjakan lalu lintas seperti peluncuran tiket, peluncuran produk, dan acara dengan inventaris terbatas. Langkah CAPTCHA yang digunakan dalam integrasi saat ini lebih dari sekadar gambar yang berisi karakter: BotDeflector menyediakan alur tantangan yang mungkin memerlukan hasil token atau koordinat visual.
Panduan yang diperbarui ini menjelaskan kedua jalur yang didukung dengan CapSolver. Jalur token adalah integrasi default untuk flowToken yang ditangkap; jalur VisionEngine berlaku ketika browser menampilkan gambar tantangan latar depan dan belakang yang sesuai. Dokumen API CAPTCHA CapSolver menjelaskan siklus tugas yang sama dan model kesalahan.
Alur Queue-it saat ini harus dimodelkan sebagai BotDeflector, bukan sebagai bentuk OCR mandiri. Tantangan BotDeflector memiliki input yang terikat sesi, dan output yang diharapkan tergantung pada jalur integrasi:
| Jalur | Tugas CapSolver | Data tantangan yang diperlukan | Hasil |
|---|---|---|---|
| Mode token | AntiBotdeflectorTaskProxyLess |
websiteURL, domain, flowToken |
solution.token setelah polling |
| Mode pengenalan visual | VisionEngine dengan module: "botdeflector" |
image, imageBackground, websiteURL |
solution.points dalam respons createTask |
Mode ini tidak dapat dipertukarkan. Mode token tidak menerima gambar Base64 sebagai pengganti flowToken, sementara mode pengenalan visual tidak mengembalikan token BotDeflector akhir. Periksa implementasi tantangan dalam sesi browser yang diizinkan dan pilih jalur yang sesuai dengan data yang tersedia di sana.
Ruangan antre Queue-it dan solver CAPTCHA juga menggunakan antrean yang berbeda. Ruangan antre menentukan kapan pengunjung dapat melanjutkan, sementara API CapSolver memproses tugas tantangan. Glosarium antrean permintaan memberikan latar belakang yang berguna untuk memisahkan antrean aplikasi dari polling tugas API.
Persiapkan hal berikut sebelum membuat tugas:
domain BotDeflector dan flowToken saat ini yang ditangkap dari sesi browser yang sama.https://api.capsolver.com.Jangan tempatkan kunci API produksi secara langsung di kode sumber. Contoh menggunakan YOUR_API_KEY, FLOW_TOKEN_FROM_PAGE, dan domain contoh sebagai placeholder.
Mode token menggunakan AntiBotdeflectorTaskProxyLess, lalu polling getTaskResult hingga CapSolver mengembalikan solution.token. Nama bidang dan bentuk respons mengikuti dokumentasi mode token BotDeflector.
Tangkap nilai-nilai ini dari sesi browser yang diizinkan yang sama:
websiteURL: URL halaman lengkap di mana tantangan BotDeflector berjalan.domain: domain BotDeflector yang diperlukan oleh tantangan tersebut.flowToken: token tantangan saat ini yang terpapar oleh alur BotDeflector.Jangan asumsikan domain adalah hanya hostname dari websiteURL. Definisi tugas resmi menganggapnya sebagai input terpisah, dan mungkin tidak menggunakan nama domain yang sama.
Kirim nilai yang ditangkap ke createTask:
curl --request POST 'https://api.capsolver.com/createTask' \
--header 'Content-Type: application/json' \
--data '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "AntiBotdeflectorTaskProxyLess",
"websiteURL": "https://queue.example.com/waitingroom/",
"domain": "challenge.example.net",
"flowToken": "FLOW_TOKEN_FROM_PAGE"
}
}'
Respons pembuatan yang sukses berisi ID tugas:
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Periksa errorId sebelum menyimpan taskId. Jika pembuatan tugas gagal, catat errorCode dan errorDescription tanpa merekam kunci API atau token tantangan lengkap.
Kirim ID tugas yang dikembalikan ke getTaskResult:
curl --request POST 'https://api.capsolver.com/getTaskResult' \
--header 'Content-Type: application/json' \
--data '{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}'
Lanjutkan polling sementara respons status adalah processing. Berhenti segera jika API mengembalikan errorId yang tidak nol atau status gagal. Ketika tugas siap, baca token dari solution.token:
{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006",
"status": "ready",
"solution": {
"token": "BOTDEFLECTOR_TOKEN"
}
}
Kirim token yang dikembalikan ke titik integrasi BotDeflector yang digunakan oleh sesi browser Queue-it yang sama. Jangan membuat konteks browser baru antara menangkap flowToken dan menerapkan hasilnya. Perubahan sesi, navigasi, atau pembaruan tantangan dapat menghilangkan konteks dan memerlukan tugas baru.
Titik penyisipan atau pengiriman yang tepat milik implementasi Queue-it yang Anda uji. Tangkap dari integrasi aplikasi Anda sendiri alih-alih mengandalkan selektor universal.
Klaim Kode Bonus CapSolver
Tingkatkan anggaran otomatisasi Anda secara instan!
Gunakan kode bonus CAP26 saat menambahkan dana ke akun CapSolver Anda untuk mendapatkan tambahan 5% bonus pada setiap penambahan dana — tanpa batas.
Klaim sekarang di Dashboard CapSolver Anda
Contoh berikut membuat tugas BotDeflector, polling dengan timeout terbatas, dan mengembalikan solution.token. Ia menggunakan nilai tantangan placeholder karena flowToken nyata harus berasal dari sesi browser yang diizinkan Anda.
import os
import time
import requests
API_BASE = "https://api.capsolver.com"
API_KEY = os.environ["CAPSOLVER_API_KEY"]
def solve_botdeflector(website_url, domain, flow_token, timeout=120):
create_response = requests.post(
f"{API_BASE}/createTask",
json={
"clientKey": API_KEY,
"task": {
"type": "AntiBotdeflectorTaskProxyLess",
"websiteURL": website_url,
"domain": domain,
"flowToken": flow_token,
},
},
timeout=30,
)
create_response.raise_for_status()
created = create_response.json()
if created.get("errorId"):
raise RuntimeError(
f"createTask gagal: {created.get('errorCode')} - "
f"{created.get('errorDescription')}"
)
task_id = created["taskId"]
deadline = time.monotonic() + timeout
while time.monotonic() < deadline:
time.sleep(2)
result_response = requests.post(
f"{API_BASE}/getTaskResult",
json={"clientKey": API_KEY, "taskId": task_id},
timeout=30,
)
result_response.raise_for_status()
result = result_response.json()
if result.get("errorId"):
raise RuntimeError(
f"getTaskResult gagal: {result.get('errorCode')} - "
f"{result.get('errorDescription')}"
)
if result.get("status") == "ready":
return result["solution"]["token"]
if result.get("status") == "failed":
raise RuntimeError("Tugas BotDeflector gagal")
raise TimeoutError(f"Tugas BotDeflector {task_id} melebihi {timeout}s")
token = solve_botdeflector(
website_url="https://queue.example.com/waitingroom/",
domain="challenge.example.net",
flow_token="FLOW_TOKEN_FROM_PAGE",
)
print(token)
Untuk detail lebih lanjut tentang variabel lingkungan, penanganan permintaan, dan struktur klien yang dapat digunakan kembali, lihat panduan integrasi API CAPTCHA Python.
Gunakan VisionEngine hanya ketika tantangan mengekspos aset visual yang diperlukan oleh modul pengenalan BotDeflector. Jalur ini menerima image latar depan dan imageBackground, lalu mengembalikan koordinat klik dalam respons createTask awal.
Permintaan menggunakan type: "VisionEngine" dan module: "botdeflector":
curl --request POST 'https://api.capsolver.com/createTask' \
--header 'Content-Type: application/json' \
--data '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "VisionEngine",
"module": "botdeflector",
"image": "BASE64_FOREGROUND_IMAGE",
"imageBackground": "BASE64_BACKGROUND_IMAGE",
"websiteURL": "https://queue.example.com/waitingroom/"
}
}'
Menurut dokumentasi VisionEngine saat ini, tugas ini mengembalikan data pengenalan secara langsung; tidak memerlukan permintaan getTaskResult terpisah. Respons yang sukses memiliki bentuk berikut:
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"status": "ready",
"solution": {
"points": [[123, 88], [244, 84], [174, 70]]
},
"taskId": "TASK_ID"
}
Terapkan titik yang dikembalikan ke tantangan visual dalam ruang koordinat yang sama dengan gambar yang dikirim. Pengaturan skala, pemotongan, atau penggunaan screenshot dengan dimensi berbeda dapat menggeser posisi target dan menyebabkan interaksi yang salah.
VisionEngine menangani langkah pengenalan; ia tidak menggantikan manajemen status browser yang mengelilinginya. Jika halaman mengharapkan pertukaran token berikutnya, lanjutkan pertukaran tersebut di dalam sesi yang diizinkan yang sama.
Pastikan flowToken saat ini dan milik sesi halaman yang sama. Juga verifikasi bahwa websiteURL dan domain ditangkap secara terpisah alih-alih dibangun dari satu hostname. Gunakan polling terbatas dan hentikan kesalahan API alih-alih loop tak terbatas.
Token yang ditolak biasanya menunjukkan bahwa state halaman berubah setelah input tantangan ditangkap. Pertahankan kuki, konteks browser, URL, dan state tantangan tetap hingga hasil diterapkan. Jika tantangan diperbarui, tangkap flowToken baru dan buat tugas baru.
Kirim gambar tantangan asli tanpa mengubah ukurannya, dan terapkan koordinat terhadap dimensi yang sama. Periksa apakah otomatisasi browser Anda memperkenalkan skala perangkat-pixel, pengaturan CSS, atau screenshot yang dipotong.
Bandingkan versi browser, pengaturan viewport, waktu, kuki, dan ketersediaan rahasia antara lingkungan lokal dan CI. Untuk daftar pemeriksaan yang lebih luas, lihat penanganan CAPTCHA dalam QA otomatis.
Gunakan otomatisasi Queue-it dan BotDeflector hanya untuk sistem yang Anda miliki, lingkungan QA yang Anda kelola, atau alur kerja yang diberi izin eksplisit oleh pemilik situs. API penyelesaian CAPTCHA tidak memberikan hak akses atau menggantikan syarat situs, aturan antre, batas kecepatan, atau persyaratan otorisasi.
Batasi volume pengujian, hindari acara publik yang menarik banyak permintaan kecuali bagian dari pengujian yang disetujui, dan catat hanya data diagnostik minimum. Kunci API, kuki, nilai flowToken, dan token yang dikembalikan harus dianggap sebagai rahasia dan dikeluarkan dari screenshot, analitik, dan log jangka panjang.
Penanganan CAPTCHA Queue-it sekarang memerlukan integrasi yang menyadari BotDeflector. Gunakan AntiBotdeflectorTaskProxyLess untuk alur token sesi dan baca hasilnya dari solution.token; gunakan VisionEngine dengan modul botdeflector hanya ketika tantangan menyediakan gambar latar depan dan belakang yang diperlukan untuk pengenalan koordinat.
Aturan implementasi kunci adalah mempertahankan konteks browser asli dari penangkapan tantangan hingga pengiriman hasil. Untuk pengujian Queue-it yang diizinkan, CapSolver menyediakan kedua jalur BotDeflector yang terdokumentasi melalui API tugas yang sama.
Q: Tugas jenis apa yang harus saya gunakan untuk mode token BotDeflector Queue-it?
Gunakan AntiBotdeflectorTaskProxyLess ketika Anda memiliki websiteURL, domain, dan flowToken saat ini. Poll getTaskResult dan baca nilai selesai dari solution.token.
Q: Apakah mode token BotDeflector Queue-it memerlukan gambar CAPTCHA?
Tidak. Tugas mode token menggunakan URL halaman, domain BotDeflector, dan flowToken. Jika tantangan justru mengekspos gambar latar depan dan belakang untuk pengenalan visual, gunakan jalur VisionEngine terpisah.
Q: Kapan saya harus menggunakan modul botdeflector VisionEngine?
Gunakan VisionEngine dengan module: "botdeflector" untuk langkah pengenalan visual yang menyediakan image dan imageBackground. API mengembalikan solution.points secara langsung dalam respons createTask.
Q: Mengapa domain BotDeflector bisa berbeda dari URL halaman Queue-it?
BotDeflector mendefinisikan websiteURL dan domain sebagai bidang tugas terpisah, jadi layanan tantangan mungkin menggunakan hostname yang berbeda dari halaman Queue-it yang terlihat. Tangkap kedua nilai tersebut dari integrasi aktif.
Q: Bisakah saya menggunakan kembali token BotDeflector yang dikembalikan dalam sesi browser lain?
Jangan mengasumsikan penggunaan kembali. Terapkan token ke alur browser yang diizinkan yang sama yang menghasilkan masukan tantangan; jika halaman atau tantangan segar, tangkap masukan baru dan buat tugas baru.
Q: Apakah penanganan CAPTCHA Queue-it otomatis diperbolehkan?
Hal ini tepat hanya jika Anda memiliki sistem tersebut atau memiliki izin eksplisit untuk menguji atau mengotomasi. Hormati ketentuan situs, kontrol akses, kebijakan antrean, batas laju, dan hukum yang berlaku.

Ethan Collins
AI Agent Workflow Engineer
Building clearer handoffs between AI agents and tools.
TENTANG PENULIS
Menyelesaikan CAPTCHA gambar dengan Node.js menggunakan permintaan ImageToTextTask yang terdokumentasi, enkoding Base64 lokal, hasil teks langsung, dan klien kecil yang telah diuji.

Bandingkan ImageToTextTask dan VisionEngine dengan input CAPTCHA, output pengenalan, persyaratan modul, dan pemeriksaan aplikasi sebelum memilih tugas penyelesaian.

Pilih pemecah CAPTCHA polling atau webhooks menggunakan status tugas, persyaratan penerima, kebaruan hasil, dan alur penyelesaian API CapSolver yang didokumentasikan.

Pelajari cara melindungi kunci, sesi, log, dan lingkungan pengujian dalam integrasi CAPTCHA Selenium, dengan pemeriksaan ulasan praktis untuk otomatisasi yang diizinkan.
