Cara Menyelesaikan Fingerprinting TLS/JA3 dalam Web Scraping dengan curl_cffi
Cara Mengatasi Pemindaian Sidik Jari TLS/JA3 dalam Pengambilan Data Web dengan curl_cffi
Rajinder Singh
Deep Learning Researcher
01-Dec-2025
Mengalami kesulitan dengan pengukuran anti-bot saat mengambil data dari situs web? curl_cffi, sebuah library Python yang mengelilingi alat cURL, dapat membantu Anda melewati penghalang ini secara efektif. Dengan mengimitasi perilaku browser dan memanfaatkan fitur cURL, curl_cffi meningkatkan kemampuan scraper Anda untuk menghindari deteksi dan berjalan dengan lancar. Dalam panduan ini, kita akan menjelajahi cara kerja curl_cffi, cara menggunakannya untuk berbagai tugas, dan membahas keterbatasannya. Kita juga akan membahas solusi potensial untuk mengatasi keterbatasan ini.
Apa itu curl_cffi?
curl_cffi adalah library Python yang dirancang untuk permintaan jaringan, mirip dengan library seperti requests dan httpx. Namun, berbeda dari library tersebut, curl_cffi dapat mensimulasikan sidik jari TLS/JA3 dan HTTP/2 browser. curl-impersonate adalah alat baris perintah yang dapat mensimulasikan empat browser utama dan melakukan handshake TLS serta HTTP seperti browser nyata. curl_cffi mengemas curl-impersonate menjadi library Python menggunakan cffi.
Kesulitan dengan kegagalan berulang dalam menyelesaikan CAPTCHA yang mengganggu?
Temukan penyelesaian CAPTCHA otomatis yang mulus dengan teknologi Auto Web Unblock berbasis AI dari CapSolver!
Klaim Kode Bonus Anda untuk solusi CAPTCHA terbaik; CapSolver: WEBS. Setelah kode ini digunakan, Anda akan mendapatkan bonus tambahan 5% setiap kali recharge, Tanpa Batas
Apa itu TLS/JA3 Fingerprinting?
Saat ini, sebagian besar situs web menggunakan HTTPS. Untuk membangun koneksi HTTPS, terjadi handshake TLS antara server dan klien, bertukar informasi seperti versi TLS yang didukung dan algoritma enkripsi. Klien yang berbeda memiliki karakteristik yang berbeda, dan detail ini biasanya stabil, memungkinkan server mengidentifikasi permintaan sebagai berasal dari browser pengguna biasa atau skrip otomatis. JA3 adalah algoritma umum yang digunakan untuk menghasilkan sidik jari TLS. Algoritma ini bekerja dengan menggabungkan karakteristik tersebut dan menghitung hash MD5.
Menggunakan curl_cffi
Penggunaan curl_cffi cukup mirip dengan requests. Berikut cara Anda menggunakan requests untuk mendapatkan sidik jari JA3:
pythonCopy
import requests
url = "https://tls.browserleaks.com/json"
r = requests.get(url)
print(r.json())
Jika Anda membuat permintaan berulang, Anda akan menemukan bahwa hash JA3 Anda tetap sama. Namun, sejak versi Chrome 110, urutan ekstensi ClientHello TLS diacak, membuatnya lebih mudah bagi pengembang situs web untuk memblokir library seperti requests berdasarkan sidik jari JA3. Jika permintaan Anda terus menunjukkan sidik jari JA3 yang sama, mereka mungkin diidentifikasi sebagai berasal dari satu pengguna, meningkatkan kemungkinan ditandai sebagai bot.
Berikut cara menggunakan curl_cffi untuk mensimulasikan sidik jari JA3 yang sebenarnya:
pythonCopy
from curl_cffi import requests
url = "https://tls.browserleaks.com/json"
r = requests.get(url, impersonate="chrome124")
print(r.json())
Parameter impersonate memungkinkan Anda menentukan browser dan versi yang ingin disimulasikan. Browser yang didukung termasuk Chrome, Chrome Android, Edge, dan Safari, dengan versi yang terus diperbarui. Untuk informasi lebih lanjut, lihat repo GitHub curl_cffi. Dengan curl_cffi, sidik jari JA3 akan sesuai dengan browser nyata, dan sejak Chrome 110, sidik jari JA3 akan berubah setiap permintaan:
jsonCopy
{
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
"ja3_hash": "c97c8dac4ca1de968fe230de54f3e0f3",
"ja3_text": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,16-10-27-18-5-51-23-17513-45-35-43-13-65281-0-11-65037,25497-29-23-24,0",
"ja3n_hash": "4c9ce26028c11d7544da00d3f7e4f45c",
"ja3n_text": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,25497-29-23-24,0",
"akamai_hash": "52d84b11737d980aef856699f885ca86",
"akamai_text": "1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p"
}
Mengatasi Keterbatasan curl_cffi
Meskipun curl_cffi dapat mensimulasikan sidik jari JA3 yang sebenarnya dan mungkin menghindari tantangan bot, terkadang ini tidak cukup. Banyak situs web menerapkan mekanisme perlindungan bot lanjutan. Sistem ini menggunakan gambar kompleks dan tantangan JavaScript yang sulit dibaca untuk membedakan antara manusia dan bot. Terkadang, bahkan dengan sidik jari JA3 yang asli dan diacak, melewati tantangan ini tidak bisa dihindari.
Jika Anda menghadapi tantangan CAPTCHA, terlepas dari library permintaan yang Anda gunakan, tantangan ini mungkin tidak bisa dihindari. Namun, tidak perlu khawatir. CapSolver memberikan solusi untuk masalah ini. CapSolver menggunakan teknologi pembukaan web otomatis berbasis AI untuk menyelesaikan berbagai tantangan bot dalam hitungan detik. Baik itu gambar maupun masalah kompleks, CapSolver dapat menanganinya secara efisien. Jika solusi gagal, Anda tidak akan dikenakan biaya apa pun.
CapSolver juga menawarkan ekstensi browser yang secara otomatis menyelesaikan CAPTCHA saat mengambil data dengan Selenium. Selain itu, solusi API tersedia untuk menyelesaikan CAPTCHA dan mendapatkan token dalam kerangka seperti Scrapy. Semua ini dapat diselesaikan dalam beberapa detik. Untuk informasi lebih lanjut, lihat dokumentasi CapSolver.
Kesimpulan
Dengan mengintegrasikan curl_cffi ke dalam setup pengambilan data Anda, Anda dapat secara efektif meniru perilaku browser nyata untuk mengatasi tantangan fingerprinting TLS/JA3. Meskipun curl_cffi menyediakan alat yang kuat untuk menangani tantangan ini, sistem CAPTCHA dan deteksi bot lanjutan masih menjadi hambatan signifikan. CapSolver menawarkan solusi pendukung untuk mengatasi tantangan CAPTCHA ini secara mulus, memastikan aktivitas pengambilan data Anda berjalan lancar.
Pernyataan Kepatuhan: Informasi yang diberikan di blog ini hanya untuk tujuan informasi. CapSolver berkomitmen untuk mematuhi semua hukum dan peraturan yang berlaku. Penggunaan jaringan CapSolver untuk kegiatan ilegal, penipuan, atau penyalahgunaan sangat dilarang dan akan diselidiki. Solusi penyelesaian captcha kami meningkatkan pengalaman pengguna sambil memastikan kepatuhan 100% dalam membantu menyelesaikan kesulitan captcha selama pengambilan data publik. Kami mendorong penggunaan layanan kami secara bertanggung jawab. Untuk informasi lebih lanjut, silakan kunjungi Syarat Layanan dan Kebijakan Privasi.