CAPSOLVER
Blog
Cara menyelesaikan Captcha di Agno dengan integrasi CapSolver

Cara Menyelesaikan Captcha di Agno dengan Integrasi CapSolver

Logo of CapSolver

Emma Foster

Machine Learning Engineer

13-Jan-2026

Agno dengan Integrasi CapSolver

Seiring dengan otomatisasi yang didorong oleh AI semakin praktis dalam alur kerja dunia nyata, Agno telah muncul sebagai kerangka kerja yang cepat dan berfokus pada privasi untuk membangun sistem multi-agent otonom. Ketika agen-agen ini berinteraksi dengan situs web melalui scraping, pengumpulan data, atau penjelajahan otomatis, CAPTCHA sering menjadi masalah.

CapSolver membantu menyelesaikan masalah ini dengan memungkinkan agen Agno menangani halaman yang dilindungi CAPTCHA secara andal tanpa mengganggu alur otomatisasi. Bersama, Agno dan CapSolver membuatnya lebih mudah untuk membangun otomatisasi yang skalabel dan tanpa campur tangan manual yang berjalan di situs web nyata.


Apa itu Agno?

Agno adalah kerangka kerja dan lingkungan runtime multi-agent open-source untuk membangun sistem AI yang berjalan sepenuhnya di dalam infrastruktur Anda sendiri. Didesain dengan kinerja dan privasi dalam pikiran—tidak ada kontrol plane eksternal dan tidak ada data yang keluar dari lingkungan Anda.

Fitur Utama Agno

  • Kinerja Tinggi: Jauh lebih cepat dan efisien memori dibandingkan banyak kerangka kerja agen
  • Privasi Terlebih Dahulu: Secara penuh self-hosted, dengan kendali penuh atas data dan eksekusi
  • Sistem Multi-Agent: Agen dapat bekerja sama, spesialisasi, dan mengkoordinasikan tugas
  • Model Fleksibel: Mendukung OpenAI, Anthropic, Google, dan banyak penyedia lainnya
  • Runtime Siap Produksi: Termasuk runtime berbasis FastAPI untuk menghosting agen
  • Alat yang Kaya: Alat yang sudah dibangun untuk otomatisasi web, API, database, dan lainnya
  • Memori yang Tahan Lama: Agen dapat mempertahankan konteks di antara sesi dengan RAG agenik dan 20+ gudang vektor

Arsitektur Inti

Komponen Deskripsi
Agent Unit AI otonom dengan memori, alat, dan integrasi model
Tim Kelompok agen yang bekerja sama pada tugas kompleks
Alur Kerja Pipelines terstruktur untuk eksekusi yang terprediksi
AgentOS Runtime FastAPI untuk pengembangan produksi

Apa itu CapSolver?

CapSolver adalah layanan penyelesaian CAPTCHA terkemuka yang menyediakan solusi berbasis AI untuk melewati berbagai tantangan CAPTCHA. Dengan dukungan untuk berbagai jenis CAPTCHA dan respons yang cepat, CapSolver terintegrasi dengan mulus ke dalam alur kerja otomatis.

Jenis CAPTCHA yang Didukung


Mengapa Mengintegrasikan CapSolver dengan Agno?

Ketika membangun agen Agno yang berinteraksi dengan situs web—baik untuk pengumpulan data, pengujian otomatis, atau agregasi konten—tantangan CAPTCHA menjadi penghalang signifikan. Untuk penjelasan lebih dalam tentang menyelesaikan CAPTCHA dalam lingkungan browser otomatis, lihat panduan kami tentang cara menyelesaikan CAPTCHA di Puppeteer. Berikut adalah alasan mengapa integrasi ini penting:

  1. Alur Kerja Agent yang Tidak Terputus: Agen dapat menyelesaikan tugas mereka tanpa intervensi manual. Untuk solusi lebih lanjut tentang CAPTCHA dalam scraping web, merujuk ke artikel kami: Cara Terbaik Menyelesaikan CAPTCHA Saat Web Scraping.
  2. Privasi Terjaga: Baik Agno maupun CapSolver memungkinkan Anda mempertahankan kendali atas data Anda
  3. Otomatisasi yang Scalabel: Menangani banyak tantangan CAPTCHA di berbagai operasi agen yang bersamaan
  4. Biaya Efisien: Bayar hanya untuk CAPTCHA yang berhasil diselesaikan
  5. Tingkat Keberhasilan Tinggi: Akurasi terkemuka industri untuk semua jenis CAPTCHA yang didukung.

Pemasangan

Pertama, instal paket yang diperlukan:

bash Copy
pip install agno
pip install requests

Agno adalah model-agnostic dengan dukungan bawaan untuk 23+ penyedia LLM:

python Copy
# OpenAI
from agno.models.openai import OpenAIChat

# Anthropic Claude
from agno.models.anthropic import Claude

# Google Gemini
from agno.models.google import Gemini

# Dan banyak lagi...

Membuat Alat CapSolver Kustom untuk Agno

Agno memungkinkan Anda membuat alat kustom yang dapat digunakan agen untuk menyelesaikan tugas mereka. Berikut cara membuat alat CapSolver untuk menangani tantangan CAPTCHA:

Implementasi Dasar Alat CapSolver

python Copy
import requests
import time
from agno.tools import tool

CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"


@tool
def solve_captcha(
    website_url: str,
    website_key: str,
    captcha_type: str = "ReCaptchaV2TaskProxyLess"
) -> str:
    """
    Menyelesaikan tantangan CAPTCHA menggunakan API CapSolver.

    Args:
        website_url: URL situs web dengan CAPTCHA
        website_key: Kunci situs CAPTCHA
        captcha_type: Jenis CAPTCHA (ReCaptchaV2TaskProxyLess, ReCaptchaV3TaskProxyLess, AntiTurnstileTaskProxyLess)

    Returns:
        Token solusi CAPTCHA
    """
    # Membuat tugas
    payload = {
        "clientKey": CAPSOLVER_API_KEY,
        "task": {
            "type": captcha_type,
            "websiteURL": website_url,
            "websiteKey": website_key
        }
    }

    response = requests.post("https://api.capsolver.com/createTask", json=payload)
    result = response.json()

    if result.get("errorId") != 0:
        return f"Error membuat tugas: {result.get('errorDescription')}"

    task_id = result.get("taskId")

    # Memantau hasil
    for _ in range(60):
        time.sleep(2)

        result = requests.post(
            "https://api.capsolver.com/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        ).json()

        if result.get("status") == "ready":
            solution = result.get("solution", {})
            return solution.get("gRecaptchaResponse") or solution.get("token")
        elif result.get("status") == "failed":
            return f"Tugas gagal: {result.get('errorDescription')}"

    return "Timeout menunggu solusi CAPTCHA"

Menyelesaikan Berbagai Jenis CAPTCHA

Penyelesaian reCAPTCHA v2

python Copy
import requests
import time
from agno.tools import tool

CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"


@tool
def solve_recaptcha_v2(website_url: str, website_key: str) -> str:
    """
    Menyelesaikan tantangan reCAPTCHA v2 menggunakan CapSolver.

    Args:
        website_url: URL situs web dengan reCAPTCHA v2
        website_key: Kunci situs (atribut data-sitekey)

    Returns:
        Token g-recaptcha-response
    """
    payload = {
        "clientKey": CAPSOLVER_API_KEY,
        "task": {
            "type": "ReCaptchaV2TaskProxyLess",
            "websiteURL": website_url,
            "websiteKey": website_key
        }
    }

    # Membuat tugas
    response = requests.post("https://api.capsolver.com/createTask", json=payload)
    result = response.json()

    if result.get("errorId") != 0:
        return f"Error: {result.get('errorDescription')}"

    task_id = result.get("taskId")

    # Memantau hasil
    for attempt in range(60):
        time.sleep(2)
        result = requests.post(
            "https://api.capsolver.com/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        ).json()

        if result.get("status") == "ready":
            return result["solution"]["gRecaptchaResponse"]
        if result.get("status") == "failed":
            return f"Gagal: {result.get('errorDescription')}"

    return "Timeout menunggu solusi"

Penyelesaian reCAPTCHA v3

python Copy
import requests
import time
from agno.tools import tool

CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"


@tool
def solve_recaptcha_v3(
    website_url: str,
    website_key: str,
    page_action: str = "submit",
    min_score: float = 0.7
) -> str:
    """
    Menyelesaikan tantangan reCAPTCHA v3 dengan verifikasi berdasarkan skor.

    Args:
        website_url: URL situs web dengan reCAPTCHA v3
        website_key: Kunci situs reCAPTCHA
        page_action: Parameter tindakan untuk reCAPTCHA v3
        min_score: Skor minimum yang diperlukan (0.1 hingga 0.9)

    Returns:
        Token g-recaptcha-response
    """
    payload = {
        "clientKey": CAPSOLVER_API_KEY,
        "task": {
            "type": "ReCaptchaV3TaskProxyLess",
            "websiteURL": website_url,
            "websiteKey": website_key,
            "pageAction": page_action,
            "minScore": min_score
        }
    }

    # Membuat tugas
    response = requests.post("https://api.capsolver.com/createTask", json=payload)
    result = response.json()

    if result.get("errorId") != 0:
        return f"Error: {result.get('errorDescription')}"

    task_id = result.get("taskId")

    # Memantau hasil
    for attempt in range(60):
        time.sleep(2)
        result = requests.post(
            "https://api.capsolver.com/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        ).json()

        if result.get("status") == "ready":
            return result["solution"]["gRecaptchaResponse"]
        if result.get("status") == "failed":
            return f"Gagal: {result.get('errorDescription')}"

    return "Timeout menunggu solusi"

Penyelesaian Cloudflare Turnstile

python Copy
import requests
import time
from agno.tools import tool

CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"


@tool
def solve_turnstile(website_url: str, website_key: str) -> str:
    """
    Menyelesaikan tantangan Cloudflare Turnstile.

    Args:
        website_url: URL situs web dengan Turnstile
        website_key: Kunci situs Turnstile

    Returns:
        Token Turnstile
    """
    payload = {
        "clientKey": CAPSOLVER_API_KEY,
        "task": {
            "type": "AntiTurnstileTaskProxyLess",
            "websiteURL": website_url,
            "websiteKey": website_key
        }
    }

    # Membuat tugas
    response = requests.post("https://api.capsolver.com/createTask", json=payload)
    result = response.json()

    if result.get("errorId") != 0:
        return f"Error: {result.get('errorDescription')}"

    task_id = result.get("taskId")

    # Memantau hasil
    for attempt in range(60):
        time.sleep(2)
        result = requests.post(
            "https://api.capsolver.com/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        ).json()

        if result.get("status") == "ready":
            return result["solution"]["token"]
        if result.get("status") == "failed":
            return f"Gagal: {result.get('errorDescription')}"

    return "Timeout menunggu solusi"

Penyelesaian Cloudflare Challenge (5s)

python Copy
import requests
import time
from agno.tools import tool

CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"


@tool
def solve_cloudflare_challenge(website_url: str, proxy: str) -> dict:
    """
    Menyelesaikan halaman Cloudflare 5 detik.

    Args:
        website_url: URL halaman yang dilindungi
        proxy: Proxy dalam format: http://user:pass@ip:port

    Returns:
        Kamus dengan cookie dan user_agent untuk mengakses halaman yang dilindungi
    """
    payload = {
        "clientKey": CAPSOLVER_API_KEY,
        "task": {
            "type": "AntiCloudflareTask",
            "websiteURL": website_url,
            "proxy": proxy
        }
    }

    # Membuat tugas
    response = requests.post("https://api.capsolver.com/createTask", json=payload)
    result = response.json()

    if result.get("errorId") != 0:
        return {"error": result.get('errorDescription')}

    task_id = result.get("taskId")

    # Memantau hasil
    for attempt in range(60):
        time.sleep(3)
        result = requests.post(
            "https://api.capsolver.com/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        ).json()

        if result.get("status") == "ready":
            return {
                "cookies": result["solution"]["cookies"],
                "user_agent": result["solution"]["userAgent"]
            }
        if result.get("status") == "failed":
            return {"error": result.get('errorDescription')}

    return {"error": "Timeout menunggu solusi"}

Contoh Agno Agent Lengkap

Berikut adalah contoh lengkap agen Agno yang menggunakan CapSolver untuk menangani tantangan CAPTCHA:

python Copy
import os
import requests
import time
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools import tool

# Konfigurasi
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"


@tool
def solve_recaptcha_v2(website_url: str, website_key: str) -> str:
    """
    Menyelesaikan tantangan reCAPTCHA v2 menggunakan CapSolver.

    Args:
        website_url: URL situs web dengan reCAPTCHA v2
        website_key: Kunci situs (atribut data-sitekey)

    Returns:
        Token g-recaptcha-response atau pesan kesalahan
    """
    payload = {
        "clientKey": CAPSOLVER_API_KEY,
        "task": {
            "type": "ReCaptchaV2TaskProxyLess",
            "websiteURL": website_url,
            "websiteKey": website_key
        }
    }

    response = requests.post("https://api.capsolver.com/createTask", json=payload)
    result = response.json()

    if result.get("errorId") != 0:
        return f"Error: {result.get('errorDescription')}"

    task_id = result.get("taskId")

    for _ in range(60):
        time.sleep(2)
        result = requests.post(
            "https://api.capsolver.com/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        ).json()

        if result.get("status") == "ready":
            return result["solution"]["gRecaptchaResponse"]
        if result.get("status") == "failed":
            return f"Gagal: {result.get('errorDescription')}"

    return "Timeout"


@tool
def solve_turnstile(website_url: str, website_key: str) -> str:
    """
    Menyelesaikan tantangan Cloudflare Turnstile.

    Args:
        website_url: URL situs web dengan Turnstile
        website_key: Kunci situs Turnstile

    Returns:
        Token Turnstile atau pesan kesalahan
    """
    payload = {
        "clientKey": CAPSOLVER_API_KEY,
        "task": {
            "type": "AntiTurnstileTaskProxyLess",
            "websiteURL": website_url,
            "websiteKey": website_key
        }
    }

    response = requests.post("https://api.capsolver.com/createTask", json=payload)
    result = response.json()

    if result.get("errorId") != 0:
        return f"Error: {result.get('errorDescription')}"

    task_id = result.get("taskId")

    for _ in range(60):
        time.sleep(2)
        result = requests.post(
            "https://api.capsolver.com/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        ).json()

        if result.get("status") == "ready":
            return result["solution"]["token"]
        if result.get("status") == "failed":
            return f"Gagal: {result.get('errorDescription')}"

    return "Timeout menunggu solusi"
Copy
"https://api.capsolver.com/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        ).json()

        if result.get("status") == "ready":
            return result["solution"]["token"]
        if result.get("status") == "failed":
            return f"Gagal: {result.get('errorDescription')}"

    return "Timeout"


@tool
def cek_saldo_capsolver() -> str:
    """
    Memeriksa saldo akun CapSolver saat ini.

    Mengembalikan:
        Informasi saldo saat ini
    """
    response = requests.post(
        "https://api.capsolver.com/getBalance",
        json={"clientKey": CAPSOLVER_API_KEY}
    )
    result = response.json()

    if result.get("errorId") != 0:
        return f"Error: {result.get('errorDescription')}"

    return f"Saldo: ${result.get('balance', 0):.4f}"


# Membuat Agen Pengekstrak Web
agen_pengekstrak_web = Agent(
    name="Agen Pengekstrak Web",
    model=OpenAIChat(id="gpt-4o"),
    tools=[selesaikan_recaptcha_v2, selesaikan_turnstile, cek_saldo_capsolver],
    description="Spesialis pengekstrakan web yang menangani tantangan CAPTCHA secara otomatis",
    instructions=[
        "Anda adalah spesialis pengambilan data web dengan kemampuan penyelesaian CAPTCHA.",
        "Ketika menemui CAPTCHA, identifikasi jenisnya dan gunakan solver yang sesuai.",
        "Untuk reCAPTCHA v2, gunakan selesaikan_recaptcha_v2 dengan URL dan site key.",
        "Untuk Turnstile, gunakan selesaikan_turnstile dengan URL dan site key.",
        "Selalu periksa saldo sebelum memulai tugas pengekstrakan besar."
    ],
    markdown=True
)


def main():
    print("=" * 60)
    print("Demo Integrasi Agno + CapSolver")
    print("=" * 60)

    # Tugas: Menyelesaikan tantangan reCAPTCHA
    tugas = """
    Saya perlu Anda menyelesaikan tantangan reCAPTCHA v2.

    URL Situs Web: https://www.google.com/recaptcha/api2/demo
    Site Key: 6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-

    Harap selesaikan CAPTCHA ini dan laporkan 50 karakter pertama dari token.
    Juga periksa saldo CapSolver saya sebelum memulai.
    """

    response = agen_pengekstrak_web.run(tugas)
    print("\nRespons Agen:")
    print(response.content)


if __name__ == "__main__":
    main()

Menggunakan Tim Agno dengan CapSolver

Agno mendukung tim agen multi. Berikut cara membuat tim dengan agen penyelesaian CAPTCHA khusus:

python Copy
from agno.agent import Agent
from agno.team import Team
from agno.models.openai import OpenAIChat
from agno.tools import tool
import requests
import time

CAPSOLVER_API_KEY = "API_KEY_CAPSOLVER_ANDA"


@tool
def selesaikan_captcha_apapun(
    website_url: str,
    website_key: str,
    jenis_captcha: str = "ReCaptchaV2TaskProxyLess"
) -> str:
    """Solver CAPTCHA universal yang mendukung berbagai jenis."""
    payload = {
        "clientKey": CAPSOLVER_API_KEY,
        "task": {
            "type": jenis_captcha,
            "websiteURL": website_url,
            "websiteKey": website_key
        }
    }

    response = requests.post("https://api.capsolver.com/createTask", json=payload)
    result = response.json()

    if result.get("errorId") != 0:
        return f"Error: {result.get('errorDescription')}"

    task_id = result.get("taskId")

    for _ in range(60):
        time.sleep(2)
        result = requests.post(
            "https://api.capsolver.com/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        ).json()

        if result.get("status") == "ready":
            solution = result.get("solution", {})
            return solution.get("gRecaptchaResponse") or solution.get("token")
        if result.get("status") == "failed":
            return f"Gagal: {result.get('errorDescription')}"

    return "Timeout"


# Agen Spesialis CAPTCHA
agen_captcha = Agent(
    name="Agen Spesialis CAPTCHA",
    model=OpenAIChat(id="gpt-4o"),
    tools=[selesaikan_captcha_apapun],
    description="Ahli dalam mengidentifikasi dan menyelesaikan berbagai jenis CAPTCHA",
    instructions=[
        "Identifikasi jenis CAPTCHA dari analisis halaman",
        "Gunakan solver yang sesuai dengan parameter yang benar",
        "Laporkan keberhasilan atau kegagalan secara jelas"
    ]
)

# Agen Ekstraksi Data
agen_pengambil_data = Agent(
    name="Pengambil Data",
    model=OpenAIChat(id="gpt-4o"),
    description="Mengekstrak dan memproses data dari halaman web",
    instructions=[
        "Mengekstrak data terstruktur dari konten HTML",
        "Meminta penyelesaian CAPTCHA ketika diperlukan",
        "Memvalidasi dan membersihkan data yang diekstrak"
    ]
)

# Membuat tim
tim_pengambil_data = Team(
    name="Tim Pengambil Data Web",
    agents=[agen_captcha, agen_pengambil_data],
    description="Tim yang spesialis dalam pengambilan data web dengan penanganan CAPTCHA"
)

Cara Mengirim Token CAPTCHA

Setiap jenis CAPTCHA memerlukan metode pengiriman yang berbeda:

reCAPTCHA v2/v3 - Injeksi Token

python Copy
from selenium import webdriver
from selenium.webdriver.common.by import By

def kirim_token_recaptcha(driver, token: str):
    """Menyisipkan token reCAPTCHA dan mengirimkan"""
    respons_recaptcha = driver.find_element(By.ID, "g-recaptcha-response")
    driver.execute_script("arguments[0].style.display = 'block';", respons_recaptcha)
    respons_recaptcha.clear()
    respons_recaptcha.send_keys(token)

    form = driver.find_element(By.TAG_NAME, "form")
    form.submit()

Turnstile - Injeksi Token

python Copy
def kirim_token_turnstile(driver, token: str):
    """Menyisipkan token Turnstile dan mengirimkan"""
    input_turnstile = driver.find_element(By.NAME, "cf-turnstile-response")
    driver.execute_script("arguments[0].value = arguments[1];", input_turnstile, token)

    form = driver.find_element(By.TAG_NAME, "form")
    form.submit()
python Copy
import requests

def akses_halaman_cloudflare(url: str, solusi_cf: dict):
    """Gunakan solusi Tantangan Cloudflare untuk mengakses halaman yang dilindungi."""
    sesi = requests.Session()

    for cookie in solusi_cf["cookies"]:
        sesi.cookies.set(cookie["name"], cookie["value"])

    headers = {"User-Agent": solusi_cf["user_agent"]}

    response = sesi.get(url, headers=headers)
    return response.text

Praktik Terbaik

1. Penanganan Kesalahan dengan Pengulangan

python Copy
from agno.tools import tool
import time

@tool
def selesaikan_dengan_pengulangan(
    website_url: str,
    website_key: str,
    maks_pengulangan: int = 3
) -> str:
    """Menyelesaikan CAPTCHA dengan pengulangan otomatis pada kegagalan."""
    for percobaan in range(maks_pengulangan):
        try:
            hasil = selesaikan_recaptcha_v2(website_url, website_key)
            if not hasil.startswith("Error") dan tidak hasil.startswith("Gagal"):
                return hasil
        except Exception as e:
            if percobaan == maks_pengulangan - 1:
                return f"Semua pengulangan gagal: {str(e)}"
        time.sleep(2 ** percobaan)  # Backoff eksponensial

    return "Maksimum pengulangan tercapai"

2. Manajemen Saldo

python Copy
@tool
def cek_saldo() -> float:
    """Memeriksa saldo akun CapSolver."""
    response = requests.post(
        "https://api.capsolver.com/getBalance",
        json={"clientKey": CAPSOLVER_API_KEY}
    )
    return response.json().get("balance", 0)

3. Dukungan Async

Agno mendukung operasi async untuk kinerja yang lebih baik:

python Copy
import asyncio
import aiohttp
from agno.tools import tool

@tool
async def selesaikan_captcha_async(website_url: str, website_key: str) -> str:
    """Solver CAPTCHA asinkron untuk konkurensi yang lebih baik."""
    async with aiohttp.ClientSession() as sesi:
        payload = {
            "clientKey": CAPSOLVER_API_KEY,
            "task": {
                "type": "ReCaptchaV2TaskProxyLess",
                "websiteURL": website_url,
                "websiteKey": website_key
            }
        }

        async with sesi.post(
            "https://api.capsolver.com/createTask",
            json=payload
        ) as response:
            hasil = await response.json()

        if hasil.get("errorId") != 0:
            return f"Error: {hasil.get('errorDescription')}"

        task_id = hasil.get("taskId")

        for _ in range(60):
            await asyncio.sleep(2)

            async with sesi.post(
                "https://api.capsolver.com/getTaskResult",
                json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
            ) as response:
                hasil = await response.json()

            if hasil.get("status") == "ready":
                solusi = hasil.get("solution", {})
                return solusi.get("gRecaptchaResponse") or solusi.get("token")
            if hasil.get("status") == "failed":
                return f"Gagal: {hasil.get('errorDescription')}"

        return "Timeout"

Kesimpulan

Mengintegrasikan CapSolver dengan Agno mengungkap potensi penuh agen AI otonom untuk tugas berbasis web. Dengan menggabungkan Agno yang cepat dan privasi tinggi dengan kemampuan penyelesaian CAPTCHA terkemuka CapSolver, pengembang dapat membangun solusi otomasi yang tangguh yang menangani mekanisme perlindungan web paling menantang.

Baik Anda membangun pipeline ekstraksi data, kerangka pengujian otomatis, atau agen web cerdas, kombinasi Agno + CapSolver memberikan kecepatan, keandalan, dan skalabilitas yang dibutuhkan untuk lingkungan produksi.


Siap memulai? Daftar di CapSolver dan gunakan kode bonus AGNO untuk bonus tambahan 6% pada recharge pertama!


FAQ

Apa itu Agno?

Agno adalah kerangka kerja, runtime, dan kontrol multi-agen untuk membangun produk AI. Ini 529× lebih cepat daripada LangGraph dengan penggunaan memori 24× lebih rendah, dan berjalan sepenuhnya di infrastruktur Anda untuk privasi maksimal.

Bagaimana CapSolver terintegrasi dengan Agno?

CapSolver terintegrasi dengan Agno melalui alat khusus yang didekorasi dengan @tool. Anda membuat fungsi yang membungkus API CapSolver, memungkinkan agen AI Anda untuk menyelesaikan tantangan CAPTCHA secara otomatis ketika menemukannya selama operasi web.

Jenis CAPTCHA apa yang bisa diselesaikan CapSolver?

CapSolver mendukung berbagai jenis CAPTCHA seperti reCAPTCHA v2, reCAPTCHA v3, Cloudflare Turnstile, Cloudflare Challenge, AWS WAF, GeeTest, dan banyak lagi.

Berapa biaya CapSolver?

CapSolver menawarkan harga kompetitif berdasarkan jenis dan volume CAPTCHA yang diselesaikan. Kunjungi capsolver.com untuk detail harga terkini. Gunakan kode AGNO untuk bonus 5% pada recharge pertama.

Apakah saya bisa menggunakan Agno dengan penyedia LLM lain?

Ya! Agno bersifat agnostik model dan mendukung 50+ penyedia model seperti OpenAI, Anthropic Claude, Google Gemini, Groq, dan lainnya.

Apakah Agno gratis digunakan?

Ya, Agno open-source dan dirilis di bawah lisensi MIT. Kerangka ini gratis digunakan, meskipun Anda mungkin menghadapi biaya untuk panggilan API LLM dan layanan penyelesaian CAPTCHA seperti CapSolver.

Bagaimana cara menemukan site key CAPTCHA?

Site key biasanya ditemukan dalam sumber HTML halaman. Cari:

  • reCAPTCHA: atribut data-sitekey atau pemanggilan grecaptcha.render()
  • Turnstile: atribut data-sitekey dalam widget Turnstile

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

Agno dengan Integrasi CapSolver
Cara Menyelesaikan Captcha di Agno dengan Integrasi CapSolver

Pelajari cara mengintegrasikan CapSolver dengan Agno untuk menyelesaikan tantangan reCAPTCHA v2/v3, Cloudflare Turnstile, dan WAF dalam agen AI otonom. Termasuk contoh Python nyata untuk pengambilan data web dan otomatisasi.

web scraping
Logo of CapSolver

Emma Foster

13-Jan-2026

Cara menyelesaikan Captcha dengan Katana Menggunakan CapSolver
Mengintegrasikan Katana dengan CapSolver: Penyelesaian CAPTCHA Otomatis untuk Penjelajahan Web

Pelajari cara mengintegrasikan Katana dengan Capsolver untuk secara otomatis menyelesaikan reCAPTCHA v2 dan Cloudflare Turnstile dalam crawling headless.

web scraping
Logo of CapSolver

Adélia Cruz

12-Jan-2026

Perpustakaan Web Scraping Python Teratas 2026
Pustaka Scraping Web Python Teratas 2026

Jelajahi perpustakaan web scraping Python terbaik untuk 2026. Bandingkan fitur, kemudahan penggunaan, dan kinerja untuk kebutuhan ekstraksi data Anda. Termasuk wawasan ahli dan FAQ.

web scraping
Logo of CapSolver

Anh Tuan

12-Jan-2026

Cara Menyelesaikan Captcha dengan Crawlab Menggunakan CapSolver
Mengintegrasikan Crawlab dengan CapSolver: Penyelesaian CAPTCHA Otomatis untuk Penjelajahan Terdistribusi

Pelajari cara mengintegrasikan CapSolver dengan Crawlab untuk menyelesaikan reCAPTCHA dan Cloudflare Turnstile secara skala.

web scraping
Logo of CapSolver

Ethan Collins

09-Jan-2026

Alat Scraping Kecerdasan Buatan Terbaik yang Harus Anda Ketahui pada 2026
Alat Scraping AI Terbaik yang Harus Anda Ketahui pada 2026

Temukan pilihan alat scraping AI terbaik untuk 2026. Kami membandingkan alat scraping web AI terbaik, termasuk Bright Data, Crawl4AI, dan Browse AI, dengan harga spesifik untuk membantu Anda menguasai ekstraksi data otomatis dan penyelesaian tantangan keamanan.

web scraping
Logo of CapSolver

Emma Foster

07-Jan-2026

Penyedia Data Alternatif Terbaik
Penyedia Data Alternatif Terbaik pada 2026 (Platform Terbaik Dibandingkan)

Temukan Penyedia Data Alternatif Terbaik pada 2026. Panduan kami membandingkan platform teratas (YipitData, FactSet, Preqin) dengan kelebihan, kekurangan, dan wawasan harga untuk kepatuhan dan penghasilan alpha.

web scraping
Logo of CapSolver

Emma Foster

06-Jan-2026