
Aloísio Vítor
Image Processing Expert

Tantangan 5 detik Cloudflare dapat mengganggu alur kerja otomasi Python dengan memblokir permintaan awal. Panduan ini menunjukkan cara menangani Tantangan Cloudflare secara programatis menggunakan Python dan CapSolver. Dengan menggabungkan proxy yang dikonfigurasi dengan benar, fingerprint TLS, dan AntiCloudflareTask CapSolver, Anda dapat memperoleh header dan cookie yang diperlukan untuk mengakses halaman yang dilindungi secara andal.
Mekanisme perlindungan Cloudflare digunakan secara luas untuk mengurangi lalu lintas yang tidak sah dan akses otomatis. Salah satu mekanisme umum adalah Tantangan 5 detik Cloudflare, yang memvalidasi perilaku browser sebelum memberikan akses ke situs web. Bagi pengembang yang membangun alur kerja pengumpulan data, pemantauan, atau otomasi dalam Python, tantangan ini dapat menghasilkan respons 403 yang berulang dan alur kerja yang terganggu.
Dalam artikel ini, kami membimbing Anda melalui pendekatan berbasis Python untuk menangani Tantangan Cloudflare. Dengan menggunakan API CapSolver bersama klien HTTP yang mendukung TLS, Anda akan belajar cara mendeteksi tantangan, meminta solusi, dan menyelesaikan permintaan lanjutan yang diverifikasi.
Dapatkan Kode Bonus CapSolver Anda
Meningkatkan anggaran otomasi Anda secara instan!
Gunakan kode bonus CAPN saat menambahkan dana ke akun CapSolver Anda untuk mendapatkan bonus 5% pada setiap penambahan dana — tanpa batas.
Dapatkan sekarang di dashboard CapSolver Anda
.
Jalankan perintah berikut untuk menginstal paket yang diperlukan:
pip install capsolver
pip install os
pip install requests
Berikut adalah contoh skrip Python untuk menyelesaikan tugas:
# -*- coding: utf-8 -*-
import requests
import time
import tls_client
# TODO: Kunci API Anda
API_KEY = ""
proxy = ""
# TODO: URL situs target:
page_url = ""
def call_capsolver():
data = {
"clientKey": API_KEY,
"task": {
"type": 'AntiCloudflareTask',
"websiteURL": page_url,
"proxy": proxy,
}
}
uri = 'https://api.capsolver.com/createTask'
res = requests.post(uri, json=data)
resp = res.json()
task_id = resp.get('taskId')
if not task_id:
print("tidak mendapatkan taskId:", res.text)
return
print('taskId dibuat:', task_id)
while True:
time.sleep(1)
data = {
"clientKey": API_KEY,
"taskId": task_id
}
response = requests.post('https://api.capsolver.com/getTaskResult', json=data)
resp = response.json()
status = resp.get('status', '')
if status == "ready":
print("berhasil => ", response.text)
return resp.get('solution')
if status == "failed" or resp.get("errorId"):
print("gagal! => ", response.text)
return
def request_site(solution):
session = tls_client.Session(
client_identifier="chrome_120",
random_tls_extension_order=True
)
return session.get(
page_url,
headers=solution.get('headers'),
cookies=solution.get('cookies'),
proxy=proxy,
)
def main():
solution = {
"headers": {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"sec-fetch-site": "none",
"sec-fetch-mode": "navigate",
"sec-fetch-user": "?1",
"sec-fetch-dest": "document",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
}
}
# permintaan pertama (periksa proxy Anda):
res = request_site(solution)
print('1. kode status respons:', res.status_code)
if res.status_code != 403:
print("proxy Anda berfungsi dan tidak mendapatkan tantangan Cloudflare")
return
elif 'window._cf_chl_opt' not in res.text:
print('==== proxy diblokir ==== ')
return
# memanggil CapSolver:
solution = call_capsolver()
if not solution:
return
# permintaan kedua (verifikasi solusi):
res = request_site(solution)
print('2. kode status respons:', res.status_code)
if __name__ == '__main__':
main()

Di sisi lain, jika Anda ingin menguji skrip Anda untuk karakteristik bot, alat Deteksi Bot BrowserScan dapat membantu Anda mengidentifikasi dan menyempurnakan perilaku bot dalam skrip Anda.
Menangani tantangan Cloudflare dalam Python memerlukan lebih dari permintaan HTTP standar. Dengan mengintegrasikan CapSolver dengan klien TLS dan proxy yang stabil, pengembang dapat menyelesaikan langkah verifikasi Cloudflare secara programatis dan melanjutkan alur permintaan normal.
Pendekatan ini terutama berguna untuk aplikasi yang bergantung pada akses konsisten ke sumber daya yang dilindungi Cloudflare, seperti alat pemantauan, layanan pengumpulan data, dan alur kerja pengujian otomatis. Dengan konfigurasi dan penanganan kesalahan yang tepat, proses ini dapat diotomatisasi secara end-to-end sambil tetap stabil dan skalabel.
Tantangan 5 detik Cloudflare adalah langkah verifikasi browser yang memeriksa apakah pengunjung berperilaku seperti browser nyata sebelum mengizinkan akses. Ini sering muncul sebagai halaman interstitial sementara dan dapat mengembalikan respons HTTP 403 ke skrip otomatis.
Cloudflare mengevaluasi fingerprint TLS, urutan header, dan perilaku browser. Perpustakaan seperti tls_client membantu meniru karakteristik TLS browser nyata, yang krusial untuk melewati permintaan awal dan memvalidasi solusi yang dikembalikan oleh CapSolver.
Proxy sangat dianjurkan. Proxy yang bersih dan konsisten mengurangi kemungkinan pemblokiran segera dan memastikan bahwa permintaan penyelesaian tantangan dan permintaan verifikasi berasal dari alamat IP yang sama.
CapSolver memberikan solusi yang berisi header dan cookie yang mewakili sesi browser yang diverifikasi. Header dan cookie ini harus digunakan kembali dalam permintaan berikutnya untuk mengakses halaman target secara sukses.
Ya. Alur kerja yang sama dapat diintegrasikan ke dalam sistem Python yang lebih besar dengan menambahkan antrean tugas, logika ulang, dan rotasi proxy, membuatnya cocok untuk skenario otomasi dan akses data skala besar.
Pahami perbedaan kunci antara Cloudflare Challenge vs Turnstile dan pelajari cara mengidentifikasi mereka untuk otomatisasi web yang sukses. Dapatkan tips ahli dan solver yang direkomendasikan.

Pelajari cara memperbaiki Cloudflare Error 1005 diakses ditolak selama web scraping. Temukan solusi seperti proksi rumah tangga, pemindaian sidik jari peramban, dan CapSolver untuk CAPTCHA. Optimalkan ekstraksi data.
