Captcha GeeTest dijelaskan: cara kerja dan cara solve-nya
GeeTest adalah vendor captcha yang widgetnya meminta pengunjung menyelesaikan tugas visual: menyeret potongan puzzle ke celah, mengklik sekumpulan ikon dengan urutan tertentu, atau mengikuti gerakan slider singkat. Captcha ini umum di situs e-commerce, halaman login, dan backend aplikasi di banyak wilayah. Ia juga termasuk salah satu keluarga captcha yang belum di-solve Scarnox. Panduan ini menjelaskan cara kerja GeeTest, mengapa mengotomatisasinya lebih sulit dibanding widget berbasis token, pendekatan umum yang dipakai orang, dan posisi dukungan Scarnox saat ini.
Apa yang dilakukan GeeTest di halaman
Captcha GeeTest biasanya dimuat dalam tiga langkah:
- Halaman menyertakan script GeeTest dan membuat widget dengan captcha ID. Di banyak integrasi, ID itu diteruskan sebagai parameter bernama
gt. - Widget meminta tantangan baru dari server GeeTest. Tantangan tersebut berisi nilai
challengedan gambar atau posisi ubin yang diperlukan untuk puzzle. - Saat pengunjung menyelesaikan tugasnya, widget mengirim hasilnya kembali ke situs. Backend situs kemudian memverifikasi hasil itu ke vendor captcha sebelum menerima form.
Langkah ketiga itu penting. Nilai yang kelihatannya masuk akal tidak cukup, karena server memeriksa hasil yang terikat pada satu tantangan dan kedaluwarsa. Inilah mengapa nilai yang disalin dari sesi lain akan gagal, dan mengapa memutar ulang hasil lama tidak berhasil.
Mengapa GeeTest lebih sulit dibanding widget token
Dengan PopularCaptcha, halaman hanya membutuhkan satu string token, dan satu request mengembalikan string itu. GeeTest berbeda dalam tiga hal:
- Outputnya adalah hasil dari sebuah task, bukan satu string. Situs mengharapkan beberapa nilai yang saling terkait, dan semuanya harus berasal dari tantangan yang sama.
- Tantangannya visual dan posisional. Solver harus menemukan di mana potongan puzzle cocok atau ikon mana yang cocok, lalu menghasilkan gerakan yang terlihat seperti gerakan manusia.
- Pemeriksaan juga melihat perilaku. Kecepatan, jalur, dan waktu bisa diperiksa. Posisi yang benar tetapi dilakukan dengan cara seperti robot bisa tetap ditolak.
Karena itu, solving GeeTest adalah pekerjaan multi-langkah: mengambil tantangan, menemukan target di gambar, membuat gerakan, mengirimkannya, lalu membaca vonisnya. Setiap langkah bisa gagal, dan tantangannya kedaluwarsa jika Anda menunggu terlalu lama di antara langkah-langkah itu.
Pendekatan umum
Orang yang mengotomatisasi halaman GeeTest umumnya memakai salah satu dari tiga pendekatan. Tidak ada yang merupakan jalan pintas, dan masing-masing punya biaya:
- Menjalankan browser sungguhan. Playwright atau Selenium memuat halaman dan script Anda menggerakkan slider. Ini paling baik untuk situs yang Anda kontrol atau environment test yang boleh Anda pakai. Browsernya asli, tetapi gerakannya tetap harus terlihat natural.
- Pencocokan gambar. Kode Anda mengunduh background puzzle, menemukan celah dengan template matching (misalnya dengan OpenCV), dan menghitung jarak drag. Ini sering menjadi bagian paling andal dari setup buatan sendiri, dan akan rusak saat vendor mengubah tata letak gambarnya.
- Human-in-the-loop atau layanan solving. Seseorang atau layanan terkelola menyelesaikan tantangan dan mengembalikan hasilnya. Scarnox berencana menawarkan opsi ini untuk GeeTest, tetapi belum live.
Apa pun pilihannya, jaga cakupannya tetap jujur: otomatisasi alur yang Anda miliki, environment test yang boleh Anda pakai, atau data publik yang boleh Anda kumpulkan.
Mencari captcha ID
Anda tidak memerlukan kode untuk memulai. Buka DevTools, muat ulang halaman, dan cari geetest atau gt di tab Network. Request pertama yang memuat widget biasanya menampilkan captcha ID. Script kecil bisa mencatatnya, yang berguna saat Anda ingin mengetahui kapan halaman mengubah widgetnya:
import re
import requests
html = requests.get("https://example.com/login", timeout=30).text
match = re.search(r"gt['\"]?\s*[:=]\s*['\"]([a-f0-9]{32})['\"]", html)
print("captcha id:", match.group(1) if match else "not found")
Pola di atas mencari nilai heksadesimal 32 karakter di dekat gt. Vendor mengubah markup mereka, jadi anggap ini sebagai titik awal dan periksa outputnya terhadap halaman yang sedang Anda uji.
Posisi dukungan Scarnox
Jelaskan posisi ini dengan jelas saat Anda merencanakan proyek:
- Live saat ini: PopularCaptcha, proxyless, dan dengan proxy Anda sendiri.
- Segera hadir: GeeTest, reCAPTCHA v2 dan v3, Cloudflare Turnstile, AWS WAF, dan Arkose. Jangan membangun alur produksi yang bergantung pada solve GeeTest sebelum ia tercantum sebagai live.
Jika proyek Anda memerlukan GeeTest sekarang, jalan praktisnya adalah membangun sendiri langkah browser dan gambarnya untuk halaman yang boleh Anda uji, dan menjaga kode Anda siap untuk beralih ke API saat dukungannya rilis. Sementara itu, Anda bisa membuat akun dan mulai dengan kredit uji coba gratis, tanpa kartu. Itu memberi Anda alur PopularCaptcha yang berfungsi untuk diuji dan tempat untuk menghubungkan GeeTest nanti. Untuk tarif terkini, lihat harga terkini.
Penggunaan yang sah
- Menguji alur login atau checkout Anda sendiri, saat captcha menghalangi regression test otomatis.
- Pemeriksaan aksesibilitas yang memastikan pengunjung yang tidak bisa menyelesaikan puzzle visual tetap punya jalan lain untuk menyelesaikan form.
- Memantau situs yang boleh Anda pantau, misalnya memastikan widget masih termuat setelah deploy.
Jangan memakai otomatisasi captcha untuk membuat akun palsu, menyerang form login, atau memborong stok terbatas. Penggunaan itu melanggar aturan kebanyakan situs dan bukan sesuatu yang didukung Scarnox.