Lewati ke konten
StatusDasbor

Panduan

Menentukan jenis captcha

Halaman ini diterjemahkan otomatis dari versi bahasa Mandarin dan mungkin mengandung kesalahan. Versi bahasa Mandarin menjadi acuan utama.

Langkah pertama untuk memilih jenis tugas yang tepat adalah mengenali captcha-nya. Cara paling andal adalah membuka developer tools browser (F12), lalu melihat di panel Network (Jaringan) skrip captcha mana yang dimuat halaman. Anda juga bisa menebaknya dari tampilannya.

Berikut tampilan tiap captcha di halaman web (animasi ilustrasi, bukan tangkapan layar). Klik kartu untuk membuka halaman jenis tugas yang sesuai. Jika tampilannya sulit dibedakan, pastikan dengan tabel ringkas di bawah dan panel Network.

Yang Anda lihat Apa itu Jenis tugas yang dipakai
Kotak centang “I’m not a robot” reCAPTCHA v2 reCAPTCHA v2
Tidak ada kotak centang; soal gambar baru muncul setelah klik kirim; ada logo kecil reCAPTCHA di pojok kanan bawah reCAPTCHA v2 invisible (atau v3) Lihat “Versi reCAPTCHA” di bawah
Tanpa interaksi apa pun, hanya ada logo kecil reCAPTCHA di pojok kanan bawah reCAPTCHA v3 reCAPTCHA v3
Kotak centang “I am human”, soal gambar bertanda hCaptcha hCaptcha hCaptcha
Kotak verifikasi Cloudflare tertanam di formulir; setelah dicentang halaman tidak berpindah Cloudflare Turnstile Turnstile
Seluruh halaman menampilkan “Just a moment…” / “Checking your connection”, lalu berpindah otomatis Halaman verifikasi Cloudflare Halaman verifikasi Cloudflare
Puzzle atau soal memilih gambar dari Arkose Labs (misalnya “pilih gambar yang posisinya benar”) FunCaptcha Pengenalan gambar FunCaptcha
Gambar berisi huruf dan angka yang terdistorsi Captcha karakter Pengenalan huruf dan angka pada gambar

Cari api.js atau enterprise.js di panel Network:

Skrip yang dimuat Versi
recaptcha/api.js, tanpa parameter render atau dengan render=explicit v2 biasa
Sama seperti di atas, dan URL permintaan anchor berisi size=invisible v2 invisible, tambahkan "isInvisible": true pada tugas
recaptcha/api.js?render=SITE_KEY (render bukan explicit) v3 biasa
recaptcha/enterprise.js, tanpa parameter render atau dengan render=explicit v2 Enterprise
recaptcha/enterprise.js?render=SITE_KEY v3 Enterprise

Contoh:

https://www.google.com/recaptcha/api.js?onload=onloadcallback&render=explicit → v2
https://www.google.com/recaptcha/api.js?render=6LdyC2cUAAAAACGuDKpXeDorzUDWXmdqeg-xy696 → v3
https://www.google.com/recaptcha/enterprise.js?render=explicit → v2 Enterprise

v2 invisible kadang baru lolos dengan jenis tugas v3, jadi coba keduanya.

Anda juga bisa menjalankan kode berikut di Console. Kode ini mencantumkan semua reCAPTCHA di halaman beserta versi, site key, URL halaman, dan fungsi callback-nya:

find-recaptcha-clients.js
// Paste into the browser DevTools console on a page with reCAPTCHA, then run findRecaptchaClients().
// Lists every reCAPTCHA on the page: version (V2/V3), sitekey, page URL and the callback function.
function findRecaptchaClients() {
if (typeof ___grecaptcha_cfg === 'undefined') return [];
return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => {
const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' };
const objects = Object.entries(client).filter(([, value]) => value && typeof value === 'object');
objects.forEach(([toplevelKey, toplevel]) => {
const found = Object.entries(toplevel).find(
([, value]) => value && typeof value === 'object' && 'sitekey' in value && 'size' in value,
);
if (toplevel instanceof HTMLElement && toplevel.tagName === 'DIV') data.pageurl = toplevel.baseURI;
if (found) {
const [sublevelKey, sublevel] = found;
data.sitekey = sublevel.sitekey;
const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback';
const callback = sublevel[callbackKey];
if (!callback) {
data.callback = null;
data.function = null;
} else {
data.function = callback;
const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join('');
data.callback = `___grecaptcha_cfg.clients${keys}`;
}
}
});
return data;
});
}
findRecaptchaClients();

Contoh hasil:

[
{
"id": "0",
"version": "V2",
"sitekey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"function": "onSuccess",
"callback": "___grecaptcha_cfg.clients['0']['l']['l']['callback']",
"pageurl": "https://www.google.com/recaptcha/api2/demo"
}
]

Halaman demo resmi Google bisa dipakai sebagai pembanding: v2 biasa https://www.google.com/recaptcha/api2/demo, v2 invisible https://www.google.com/recaptcha/api2/demo?invisible=true.

Turnstile dan halaman verifikasi Cloudflare

Section titled “Turnstile dan halaman verifikasi Cloudflare”

Keduanya dari Cloudflare, tetapi berbeda:

  • Turnstile adalah kotak verifikasi yang tertanam di formulir halaman web. Setelah verifikasi selesai, kotak diberi tanda centang dan halaman itu sendiri tidak berpindah. Halaman memuat challenges.cloudflare.com/turnstile/v0/api.js. Gunakan Turnstile.
  • Halaman verifikasi Cloudflare mengganti seluruh halaman dengan halaman pemeriksaan Cloudflare yang menampilkan “Just a moment…” dan “xx.com perlu memeriksa keamanan koneksi Anda terlebih dahulu”. Halaman ini mungkin juga berisi kotak verifikasi, dan setelah lolos Anda otomatis dialihkan ke halaman yang sebenarnya. Di source terdapat __cf_chl_rt_tk atau cdn-cgi/challenge-platform. Gunakan Halaman verifikasi Cloudflare.

Jika permintaan dari program mendapat 403 dan “Just a moment…”, padahal browser bisa membuka halamannya langsung, kemungkinan besar Anda hanya diblokir karena sidik jari TLS. Gunakan library yang dapat meniru sidik jari TLS browser (misalnya curl_cffi), dan permintaan akan berhasil tanpa perlu melewati halaman verifikasi.