Integrations

Bright Data + CaptchaAI: Eksiksiz Proxy Entegrasyon Kılavuzu

Bright Data (eski adıyla Luminati), 195 ülkede 72 milyondan fazla konut IP'si ile en büyük proxy ağını sağlar. CaptchaAI ile birlikte, gezinme için temiz IP'lere ve zorluklarla karşılaştığınızda otomatik CAPTCHA çözümüne sahip olursunuz.


Mimarlık

Your Script ──▶ Bright Data Proxy ──▶ Target Site
                                          │
                                    CAPTCHA appears
                                          │
                                    CaptchaAI API ──▶ Solved token
                                          │
                            Inject token ◀─┘

CaptchaAI proxy'niz üzerinden yönlendirme yapmaz; kendi altyapısını kullanarak sunucu tarafını çözer. Proxy'niz taramayı yönetir; CaptchaAI CAPTCHA'ları yönetir.


Parlak Veri Proxy Türleri

Tür IP'ler Hız Maliyet CAPTCHA Oranı
Veri merkezi 770.000+ Hızlı Düşük Daha yüksek
Konut 72 milyondan fazla Orta Orta Daha düşük
İSS 700.000+ Hızlı Yüksek En düşük
Mobil 7 milyonun üzerinde Yavaş Yüksek Çok düşük

Python Entegrasyonu

İstekler + Parlak Veriler + CaptchaAI

import requests
import time

CAPTCHAAI_KEY = "YOUR_API_KEY"
CAPTCHAAI_URL = "https://ocr.captchaai.com"

# Bright Data proxy credentials
BRIGHT_DATA_PROXY = {
    "http": "http://brd-customer-CUSTOMER_ID-zone-ZONE:PASSWORD@brd.superproxy.io:22225",
    "https": "http://brd-customer-CUSTOMER_ID-zone-ZONE:PASSWORD@brd.superproxy.io:22225",
}


def fetch_with_proxy(url):
    """Fetch a page through Bright Data proxy."""
    resp = requests.get(
        url,
        proxies=BRIGHT_DATA_PROXY,
        headers={
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
            "AppleWebKit/537.36 (KHTML, like Gecko) "
            "Chrome/126.0.0.0 Safari/537.36"
        },
        timeout=30,
    )
    return resp


def solve_recaptcha(site_url, sitekey):
    """Solve reCAPTCHA v2 via CaptchaAI."""
    resp = requests.post(f"{CAPTCHAAI_URL}/in.php", data={
        "key": CAPTCHAAI_KEY,
        "method": "userrecaptcha",
        "googlekey": sitekey,
        "pageurl": site_url,
        "json": 1,
    })
    data = resp.json()
    if data["status"] != 1:
        raise Exception(f"Submit: {data['request']}")

    task_id = data["request"]

    for _ in range(60):
        time.sleep(5)
        resp = requests.get(f"{CAPTCHAAI_URL}/res.php", params={
            "key": CAPTCHAAI_KEY,
            "action": "get",
            "id": task_id,
            "json": 1,
        })
        data = resp.json()
        if data["request"] == "CAPCHA_NOT_READY":
            continue
        if data["status"] == 1:
            return data["request"]
        raise Exception(f"Solve: {data['request']}")

    raise TimeoutError("Solve timeout")


def solve_turnstile(site_url, sitekey):
    """Solve Cloudflare Turnstile via CaptchaAI."""
    resp = requests.post(f"{CAPTCHAAI_URL}/in.php", data={
        "key": CAPTCHAAI_KEY,
        "method": "turnstile",
        "sitekey": sitekey,
        "pageurl": site_url,
        "json": 1,
    })
    data = resp.json()
    task_id = data["request"]

    for _ in range(60):
        time.sleep(5)
        resp = requests.get(f"{CAPTCHAAI_URL}/res.php", params={
            "key": CAPTCHAAI_KEY,
            "action": "get",
            "id": task_id,
            "json": 1,
        })
        data = resp.json()
        if data["request"] != "CAPCHA_NOT_READY":
            return data["request"]

    raise TimeoutError("Solve timeout")

Selenyum + Parlak Veri + CaptchaAI

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

BRIGHT_DATA_HOST = "brd.superproxy.io"
BRIGHT_DATA_PORT = 22225
BRIGHT_DATA_USER = "brd-customer-CUSTOMER_ID-zone-residential"
BRIGHT_DATA_PASS = "PASSWORD"


def create_driver_with_proxy():
    options = webdriver.ChromeOptions()
    options.add_argument(
        f"--proxy-server=http://{BRIGHT_DATA_HOST}:{BRIGHT_DATA_PORT}"
    )
    options.add_argument("--no-sandbox")
    options.add_argument("--window-size=1920,1080")

    driver = webdriver.Chrome(options=options)
    return driver


def scrape_with_captcha_solving(url, sitekey=None):
    driver = create_driver_with_proxy()

    try:
        driver.get(url)
        time.sleep(3)

        # Auto-detect sitekey if not provided
        if not sitekey:
            sitekey = driver.execute_script(
                "return document.querySelector('[data-sitekey]')"
                "?.getAttribute('data-sitekey')"
            )

        if sitekey:
            token = solve_recaptcha(url, sitekey)

            driver.execute_script(f"""
                document.querySelector('#g-recaptcha-response').value = '{token}';
                document.querySelectorAll('[name="g-recaptcha-response"]')
                    .forEach(el => {{ el.value = '{token}'; }});
            """)

            # Trigger callback
            driver.execute_script("""
                if (typeof ___grecaptcha_cfg !== 'undefined') {
                    const clients = ___grecaptcha_cfg.clients;
                    for (const key in clients) {
                        for (const prop in clients[key]) {
                            const val = clients[key][prop];
                            if (val && typeof val === 'object') {
                                for (const p in val) {
                                    if (typeof val[p]?.callback === 'function') {
                                        val[p].callback(arguments[0]);
                                    }
                                }
                            }
                        }
                    }
                }
            """)

        return driver.page_source

    finally:
        driver.quit()

Ülkeye Özel Hedefleme

Bright Data ülke, eyalet ve şehir hedeflemeyi destekler:

# Country targeting
proxy_us = "http://brd-customer-ID-zone-residential-country-us:PASS@brd.superproxy.io:22225"
proxy_uk = "http://brd-customer-ID-zone-residential-country-gb:PASS@brd.superproxy.io:22225"
proxy_de = "http://brd-customer-ID-zone-residential-country-de:PASS@brd.superproxy.io:22225"

# City targeting
proxy_nyc = "http://brd-customer-ID-zone-residential-country-us-city-newyork:PASS@brd.superproxy.io:22225"

# Use the geo-matched proxy for lower CAPTCHA rates
def scrape_localized(url, country="us"):
    proxy = f"http://brd-customer-ID-zone-residential-country-{country}:PASS@brd.superproxy.io:22225"
    resp = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=30)
    return resp

Oturum Yönetimi

# Sticky session (same IP for entire session)
proxy_sticky = (
    "http://brd-customer-ID-zone-residential"
    "-session-abc123:PASS@brd.superproxy.io:22225"
)

# Rotating (new IP each request)
proxy_rotating = (
    "http://brd-customer-ID-zone-residential:PASS@brd.superproxy.io:22225"
)

CAPTCHA iş akışları için: Sabit oturumları kullanın. CAPTCHA belirteci, sayfayı yükleyen IP'ye bağlıdır; gönderim için farklı bir IP kullanılması başarısız olur.


Node.js Entegrasyonu

const axios = require("axios");
const https = require("https");

const CAPTCHAAI_KEY = "YOUR_API_KEY";
const CAPTCHAAI_URL = "https://ocr.captchaai.com";

const proxyAgent = new (require("https-proxy-agent"))(
  "http://brd-customer-ID-zone-residential:PASS@brd.superproxy.io:22225"
);

async function fetchWithProxy(url) {
  return axios.get(url, {
    httpsAgent: proxyAgent,
    headers: {
      "User-Agent":
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/126.0.0.0",
    },
  });
}

async function solveCaptcha(siteUrl, sitekey) {
  const submit = await axios.post(`${CAPTCHAAI_URL}/in.php`, null, {
    params: {
      key: CAPTCHAAI_KEY,
      method: "userrecaptcha",
      googlekey: sitekey,
      pageurl: siteUrl,
      json: 1,
    },
  });

  const taskId = submit.data.request;

  for (let i = 0; i < 60; i++) {
    await new Promise((r) => setTimeout(r, 5000));

    const result = await axios.get(`${CAPTCHAAI_URL}/res.php`, {
      params: {
        key: CAPTCHAAI_KEY,
        action: "get",
        id: taskId,
        json: 1,
      },
    });

    if (result.data.request === "CAPCHA_NOT_READY") continue;
    if (result.data.status === 1) return result.data.request;
  }

  throw new Error("Timeout");
}

Parlak Veri Bölgesi Yapılandırması

Bölge Ayarı CAPTCHA için önerilir neden
Vekil türü Konut En düşük CAPTCHA tetikleme oranı
Ülke hedefleme Hedef site konumunu eşleştir IP – içerik tutarlılığı
Oturum türü Yapışkan Jeton, kaynak IP ile eşleşmelidir
IP kalitesi filtresi Yüksek kalite İşaretli IP'lerden kaçının
Maksimum eşzamanlı 100+ Paralel CAPTCHA iş akışları

Sorun giderme

Sorun Sebep Düzeltme
proxy'den 407 Yanlış kimlik bilgileri Müşteri kimliğini, bölgeyi ve şifreyi doğrulayın
CAPTCHA her istekte görünür Veri merkezi proxy'si algılandı Yerleşim bölgesine geçiş
Jeton reddedildi Çözme ve gönderme arasında IP değişti Yapışkan oturumları kullanın
Yavaş yanıt Sıkışık çıkış düğümü Daha az popüler olan ülkeyi hedefle/city
Bağlantı reddedildi Bant genişliği sınırına ulaşıldı Parlak Veri kontrol panelini kontrol edin

SSS

CaptchaAI Bright Data proxy'mi kullanıyor mu?

Hayır. CaptchaAI, CAPTCHA'ları kendi altyapısını kullanarak çözer. Proxy'niz yalnızca gezinmek için kullanılır. Sayfa URL'sini ve site anahtarını CaptchaAI'nin API'sine iletirsiniz.

CAPTCHA ağırlıklı siteler için hangi Bright Data bölgesi en iyi sonucu verir?

Konut veya İSS bölgeleri. Veri merkezi IP'lerinin CAPTCHA'ları tetikleme olasılığı daha yüksektir. ISP proxy'leri veri merkezi hızını konut güveniyle birleştirir.

Yapışkan veya dönüşümlü oturumlar kullanmalı mıyım?

CAPTCHA iş akışları için yapışkan. CAPTCHA jetonu IP'ye bağlıdır; IP'niz sayfa yükleme ile form gönderimi arasında değişirse jeton reddedilecektir.

Proxymi CaptchaAI'ye aktarabilir miyim?

Evet - CaptchaAI'nin API'si bir proxy parametresini kabul eder. Bu, CaptchaAI'nin CAPTCHA'yı aynı IP'den çözmesini sağlar. IP'ye bağlı zorluklar için kullanışlıdır.


İlgili Kılavuzlar


Bright Data'nın proxy ağını otomatik CAPTCHA çözümüyle birleştirin -CaptchaAI anahtarınızı alınve otomasyonunuzu ölçeklendirin.

Bu makale için yorumlar devre dışı bırakılmıştır.

İlgili Yazılar

Use Cases CAPTCHA Çözme ile Akademik Araştırma Web Scraping
Gerçekçi senaryolar, iş akışı tavsiyeleri ve Captcha AI kullanılarak uygulanabilir adımlarla CAPTCHA Çözme ile Akademik Araştırma Web Scraping için pratik kılav...

Gerçekçi senaryolar, iş akışı tavsiyeleri ve Captcha AI kullanılarak uygulanabilir adımlarla CAPTCHA Çözme ile...

Apr 18, 2026
Integrations CaptchaAI ile QA için tarayıcı profili izolasyonu
Staging QA testlerini temiz ve tekrarlanabilir tutmak için çerezleri, storage verilerini, test hesaplarını ve CAPTCHA yapılandırmalarını tarayıcı profiline göre...

Staging QA testlerini temiz ve tekrarlanabilir tutmak için çerezleri, storage verilerini, test hesaplarını ve...

Apr 29, 2026
Use Cases CAPTCHA İşleme ile Otomatik Form Gönderimi
Gerçekçi senaryolar, iş akışı tavsiyeleri ve Captcha AI kullanılarak uygulanabilir adımlarla CAPTCHA İşleme ile Otomatik Form Gönderimi için pratik kılavuz.

Gerçekçi senaryolar, iş akışı tavsiyeleri ve Captcha AI kullanılarak uygulanabilir adımlarla CAPTCHA İşleme il...

Apr 21, 2026