CAPSOLVER
Blog
Cara Menyelesaikan Cloudflare Turnstile di Agen CrewAI

Cara menyelesaikan Cloudflare Turnstile dalam Agen CrewAI

Logo of CapSolver

Emma Foster

Machine Learning Engineer

30-Jul-2026

Cloudflare Turnstile secara cepat menggantikan CAPTCHA tradisional di berbagai aplikasi web modern. Ketika alur kerja multi-agent CrewAI menemui halaman yang dilindungi Turnstile selama penelitian web, pengumpulan data, atau alur kerja otomatis, seluruh tim berhenti. SDK capsolver-core dari CapSolver menyelesaikan tantangan Turnstile dalam 2-5 detik, terintegrasi secara mulus dengan sistem alat CrewAI untuk menjaga alur kerja multi-agent tetap berjalan tanpa gangguan.

TL;DR

  • Cloudflare Turnstile diimplementasikan pada 25%+ dari aplikasi web modern, menjadikannya sistem verifikasi yang paling cepat berkembang
  • CapSolver menyelesaikan Turnstile dalam 2-5 detik — lebih cepat dari reCAPTCHA — menggunakan tipe tugas cloudflare
  • Integrasi dengan CrewAI menggunakan dekorator @tool yang mengelilingi executor asinkron CapSolver
  • Hanya memerlukan website_url dan website_key (kunci situs Turnstile yang dimulai dengan 0x)
  • Bekerja dalam mode Token (tanpa browser) dan mode Browser (deteksi otomatis dan pengisian pada halaman aktif)

Mengapa Agen CrewAI Menemui Cloudflare Turnstile

Cloudflare Turnstile telah menjadi sistem verifikasi default untuk bagian yang semakin besar dari web. Berbeda dengan reCAPTCHA, Turnstile beroperasi sebagai "tantangan non-interoperasi" — berjalan di latar belakang dan hanya menampilkan widget yang terlihat ketika skor risiko meningkat. Hal ini membuatnya lebih sulit untuk dideteksi dan ditangani dibandingkan CAPTCHA checkbox tradisional.

Agen CrewAI menemui Turnstile pada platform SaaS, situs dokumentasi API, toko e-commerce modern (terutama Shopify), portal fintech, dan sistem manajemen konten. Dokumentasi Turnstile Cloudflare menunjukkan bahwa sistem ini memproses miliaran tantangan setiap bulan di jutaan situs, dengan adopsi yang tumbuh 40%+ per tahun.

Untuk tim CrewAI yang melakukan penelitian web atau pengumpulan data, Turnstile muncul tanpa pemberitahuan — halaman yang sebelumnya dapat dimuat dengan baik mungkin menerapkan Turnstile hari ini setelah situs mengaktifkan manajemen bot Cloudflare. Tipe tugas cloudflare dari CapSolver menangani ini secara transparan.

Yang Perlu Anda Siapkan Sebelum Memulai

bash Copy
# Mesin inti CapSolver
pip install git+https://github.com/capsolver-ai/capsolver-core.git
# Alat agen CapSolver
pip install git+https://github.com/capsolver-ai/capsolver-agent.git
# CrewAI
pip install crewai crewai-tools
bash Copy
export CAPSOLVER_API_KEY="your-capsolver-api-key"
export OPENAI_API_KEY="your-openai-api-key"

Langkah 1 — Membuat Alat Penyelesaian Turnstile untuk CrewAI

python Copy
import asyncio
from crewai.tools import tool
from capsolver_agent.schema import create_executor

executor = create_executor(api_key="YOUR_CAPSOLVER_API_KEY")

@tool("Selesaikan Cloudflare Turnstile")
def solve_turnstile(website_url: str, website_key: str) -> str:
    """Menyelesaikan tantangan Cloudflare Turnstile dan mengembalikan token verifikasi.
    
    Gunakan alat ini ketika situs web dilindungi oleh Cloudflare Turnstile.
    website_key dimulai dengan '0x' dan dapat ditemukan dalam atribut data-sitekey elemen div cf-turnstile halaman.
    
    Argumen:
        website_url: URL lengkap halaman yang dilindungi Turnstile
        website_key: Kunci situs Turnstile (dimulai dengan 0x)
    
    Mengembalikan:
        Token cf-turnstile-response untuk dikirim bersama permintaan
    """
    result = asyncio.run(executor.execute("solve_captcha", {
        "captcha_type": "cloudflare",
        "website_url": website_url,
        "website_key": website_key
    }))
    
    if result["success"]:
        return f"Turnstile selesai dalam ~3s. Token: {result['solution']['token']}"
    return f"Pemecahan gagal: {result['error']}"

Langkah 2 — Membangun Agen CrewAI dengan Kemampuan Turnstile

python Copy
from crewai import Agent, Task, Crew, Process

# Agen dengan kemampuan penyelesaian Turnstile
researcher = Agent(
    role="Spesialis Penelitian Web",
    goal="Mengakses situs web yang dilindungi Cloudflare dan mengumpulkan data",
    backstory="""Anda meneliti situs web yang dilindungi oleh Cloudflare Turnstile. 
    Ketika Anda menemui tantangan Turnstile (dikenali oleh elemen cf-turnstile 
    atau halaman tantangan Cloudflare), gunakan alat solve_turnstile dengan URL halaman 
    dan kunci situs (dimulai dengan 0x). Kirim token yang diperoleh sebagai 
    cf-turnstile-response.""",
    tools=[solve_turnstile],
    verbose=True
)

# Tugas yang memerlukan penyelesaian Turnstile
research_task = Task(
    description="""Akses halaman yang dilindungi Cloudflare di {url}.
    Kunci situs Turnstile adalah {site_key}.
    Selesaikan tantangan Turnstile dan laporkan token.""",
    expected_output="Token Turnstile untuk mengakses sumber daya yang dilindungi",
    agent=researcher
)

crew = Crew(agents=[researcher], tasks=[research_task], process=Process.sequential)
result = crew.kickoff(inputs={"url": "https://example.com", "site_key": "0x4AAAAAAA..."})

Langkah 3 — Mengidentifikasi Parameter Turnstile

Kunci situs Turnstile ditemukan dalam HTML halaman:

html Copy
<!-- Widget Turnstile -->
<div class="cf-turnstile" data-sitekey="0x4AAAAAAABkMYinukE8nzYS"></div>

<!-- Atau dalam JavaScript -->
<script>
  turnstile.render('#container', { sitekey: '0x4AAAAAAABkMYinukE8nzYS' });
</script>

Ekstensi browser CapSolver mendeteksi otomatis parameter Turnstile di halaman mana pun. Panduan penyelesaian Cloudflare Turnstile memberikan pola implementasi yang rinci.

Langkah 4 — Menangani Turnstile dalam Mode Browser

Untuk agen CrewAI yang menggerakkan browser dengan Playwright, gunakan solve_on_page() untuk deteksi otomatis:

python Copy
from capsolver_core import create_capsolver
from playwright.async_api import async_playwright

async def solve_turnstile_on_page(url: str):
    cap = create_capsolver(api_key="YOUR_CAPSOLVER_API_KEY")
    
    async with async_playwright() as p:
        browser = await p.chromium.launch()
        page = await browser.new_page()
        await page.goto(url)
        
        # Deteksi dan selesaikan Turnstile otomatis
        results = await cap.solve_on_page(page)
        for r in results:
            if r.solution:
                print(f"Turnstile selesai dan diisi: {r.filled}")
        
        await browser.close()
    await cap.aclose()
Fitur Turnstile vs reCAPTCHA
Waktu penyelesaian 2-5 detik (lebih cepat)
Biaya per penyelesaian $1-2 per 1.000
Browser diperlukan Tidak (mode token bekerja)
Widget terlihat Kadang-kadang (berdasarkan risiko)
Nama bidang token cf-turnstile-response

Dapatkan Kode Bonus Anda: Gunakan kode WEBS di Dasbor CapSolver untuk mendapatkan bonus tambahan 5% pada setiap recharge.

Kesimpulan

Menyelesaikan Cloudflare Turnstile di CrewAI memerlukan dekorator @tool yang mengelilingi executor CapSolver dengan captcha_type: "cloudflare". Penyelesaian Turnstile lebih cepat (2-5 detik) dan lebih murah daripada reCAPTCHA, membuatnya efisien untuk alur kerja CrewAI volume tinggi. CapSolver menangani Turnstile secara transparan melalui API yang sama yang digunakan untuk reCAPTCHA, sehingga alat CrewAI Anda berjalan di semua jenis CAPTCHA tanpa perubahan kode.

FAQ

Apakah Cloudflare Turnstile lebih sulit dipecahkan daripada reCAPTCHA?

Tidak. Turnstile justru lebih cepat dipecahkan (2-5 detik vs 5-12 detik untuk reCAPTCHA v2) dan biayanya lebih murah per penyelesaian. API CapSolver menangani keduanya melalui antarmuka yang sama — cukup ubah parameter captcha_type.

Bagaimana bentuk kunci situs Turnstile?

Kunci situs Turnstile selalu dimulai dengan 0x diikuti oleh karakter alfanumerik, seperti 0x4AAAAAAABkMYinukE8nzYS. Mereka ditemukan dalam atribut data-sitekey pada elemen div.cf-turnstile.

Apakah satu alat CrewAI dapat menangani Turnstile dan reCAPTCHA?

Ya. Buat alat yang terpadu yang menerima captcha_type sebagai parameter. Executor menangani pengalihan ke solver yang benar berdasarkan nilai tipe — cloudflare untuk Turnstile, reCaptchaV2 atau reCaptchaV3 untuk reCAPTCHA.

Apakah penyelesaian Turnstile berjalan tanpa browser?

Ya. Mode token hanya memerlukan website_url dan website_key. Tidak diperlukan browser, tidak diperlukan Playwright, tidak diperlukan rendering halaman. Token dikembalikan langsung dan dapat dikirim dengan permintaan HTTP sebagai cf-turnstile-response.

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.

Lebih lanjut