API-Tutorials

Proxy-Authentifizierungsmethoden für die CaptchaAI-API

CaptchaAI unterstützt die Übergabe Ihres eigenen Proxys an die Lösungs-API – dadurch löst CaptchaAI das CAPTCHA aus der IP Ihres Proxys und stellt sicher, dass das Token mit der IP übereinstimmt, die die Seite geladen hat. Hier erfahren Sie, wie Sie jede Authentifizierungsmethode konfigurieren.


Wann ein Proxy an CaptchaAI übergeben werden soll

Szenario Proxy übergeben? Warum
Standard reCAPTCHA v2 Normalerweise nicht erforderlich Token funktioniert von jeder IP aus
reCAPTCHA v3 Optional Der Score kann IP-abhängig sein
Cloudflare Turnstile Empfohlen Token ist IP-gebunden
Cloudflare Challenge Erforderlich Herausforderung an IP gebunden
IP-gebundene Sitzungen Erforderlich Token validiert anhand der Ursprungs-IP

Authentifizierungsmethoden

1. Benutzername/Password (HTTP)

import requests
import time

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


def solve_with_http_proxy(site_url, sitekey, proxy_host, proxy_port,
                           proxy_user, proxy_pass):
    """Pass HTTP proxy to CaptchaAI for IP-matched solving."""
    proxy_param = f"{proxy_host}:{proxy_port}:{proxy_user}:{proxy_pass}"

    resp = requests.post(f"{CAPTCHAAI_URL}/in.php", data={
        "key": CAPTCHAAI_KEY,
        "method": "userrecaptcha",
        "googlekey": sitekey,
        "pageurl": site_url,
        "proxy": proxy_param,
        "proxytype": "HTTP",
        "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("Timeout")


# Usage
token = solve_with_http_proxy(
    site_url="https://example.com/form",
    sitekey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
    proxy_host="proxy.example.com",
    proxy_port=8080,
    proxy_user="myuser",
    proxy_pass="mypass",
)

2. Benutzername/Password (SOCKS5)

def solve_with_socks5_proxy(site_url, sitekey, proxy_host, proxy_port,
                             proxy_user, proxy_pass):
    """Pass SOCKS5 proxy to CaptchaAI."""
    proxy_param = f"{proxy_host}:{proxy_port}:{proxy_user}:{proxy_pass}"

    resp = requests.post(f"{CAPTCHAAI_URL}/in.php", data={
        "key": CAPTCHAAI_KEY,
        "method": "userrecaptcha",
        "googlekey": sitekey,
        "pageurl": site_url,
        "proxy": proxy_param,
        "proxytype": "SOCKS5",
        "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("Timeout")

3. IP-Whitelisting (keine Authentifizierung)

Einige Proxy-Anbieter authentifizieren sich anhand der IP-Whitelist statt anhand der Anmeldeinformationen:

def solve_with_whitelisted_proxy(site_url, sitekey, proxy_host, proxy_port):
    """Proxy with IP whitelist — no username/password."""
    proxy_param = f"{proxy_host}:{proxy_port}"

    resp = requests.post(f"{CAPTCHAAI_URL}/in.php", data={
        "key": CAPTCHAAI_KEY,
        "method": "userrecaptcha",
        "googlekey": sitekey,
        "pageurl": site_url,
        "proxy": proxy_param,
        "proxytype": "HTTP",
        "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("Timeout")

Wichtig: Für IP-Whitelist-Proxys müssen Sie auch die Server-IPs von CaptchaAI auf die Whitelist setzen, da die Server von CaptchaAI eine Verbindung zu Ihrem Proxy herstellen.

4. HTTPS (CONNECT)-Proxy

def solve_with_https_proxy(site_url, sitekey, proxy_host, proxy_port,
                            proxy_user, proxy_pass):
    proxy_param = f"{proxy_host}:{proxy_port}:{proxy_user}:{proxy_pass}"

    resp = requests.post(f"{CAPTCHAAI_URL}/in.php", data={
        "key": CAPTCHAAI_KEY,
        "method": "userrecaptcha",
        "googlekey": sitekey,
        "pageurl": site_url,
        "proxy": proxy_param,
        "proxytype": "HTTPS",
        "json": 1,
    })

    # ... same polling logic ...

Node.js-Beispiele

const axios = require("axios");

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

async function solveWithProxy(siteUrl, sitekey, proxyConfig) {
  const params = {
    key: CAPTCHAAI_KEY,
    method: "userrecaptcha",
    googlekey: sitekey,
    pageurl: siteUrl,
    proxy: `${proxyConfig.host}:${proxyConfig.port}:${proxyConfig.user}:${proxyConfig.pass}`,
    proxytype: proxyConfig.type || "HTTP",
    json: 1,
  };

  const submit = await axios.post(`${API}/in.php`, null, { params });
  const taskId = submit.data.request;

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

    const result = await axios.get(`${API}/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");
}

// Usage
const token = await solveWithProxy(
  "https://example.com/form",
  "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
  {
    host: "proxy.example.com",
    port: 8080,
    user: "myuser",
    pass: "mypass",
    type: "HTTP", // HTTP, HTTPS, SOCKS4, or SOCKS5
  }
);

Referenz zum Proxy-Parameterformat

Proxytyp Proxy-Format Beispiel
HTTP host:port:user:pass proxy.com:8080:user:pass
HTTPS host:port:user:pass proxy.com:8443:user:pass
SOCKS4 host:port:user:pass proxy.com:1080:user:pass
SOCKS5 host:port:user:pass proxy.com:1080:user:pass
IP-Whitelist host:port proxy.com:8080

Anbieterspezifische Formate

# Bright Data
proxy = "brd.superproxy.io:22225:brd-customer-ID-zone-residential:PASSWORD"
proxytype = "HTTP"

# Smartproxy
proxy = "gate.smartproxy.com:10001:spuser:sppassword"
proxytype = "HTTP"

# Oxylabs
proxy = "pr.oxylabs.io:7777:customer-USERNAME:PASSWORD"
proxytype = "HTTP"

Fehlerbehebung

Problem Ursache Lösung
ERROR_PROXY_NOT_AUTHORIZED Falsche Anmeldedaten oder IP nicht auf der Whitelist Überprüfen Sie die Proxy-Anmeldeinformationen. Whitelist CaptchaAI IPs
ERROR_PROXY_CONNECTION_FAILED Proxy von CaptchaAI aus nicht erreichbar Überprüfen Sie, ob der Proxy von externen IPs aus zugänglich ist
Token vom Ziel abgelehnt Die Proxy-IP stimmt nicht mit der Seitenlade-IP überein Verwenden Sie für beide dieselbe Sticky-Session
Langsame Lösung mit Proxy Proxy erhöht die Latenz Akzeptieren oder verwenden Sie einen schnelleren Proxy
ERROR_BAD_PARAMETERS Falsches Proxy-Format Verwenden Sie das host:port:user:pass-Format

FAQ

Muss ich immer einen Proxy übergeben?

Nein. Die meisten reCAPTCHA v2-Implementierungen binden Token nicht an IPs. Übergeben Sie einen Proxy nur für IP-gebundene Herausforderungen (Cloudflare, einige OAuth-Flows).

Verlangsamt die Übergabe eines Proxys die Lösung?

Etwas – CaptchaAI muss über Ihren Proxy weitergeleitet werden. Fügen Sie 2–5 Sekunden zu den typischen Lösungszeiten hinzu.

Kann ich rotierende Proxys mit dem Proxy-Parameter von CaptchaAI verwenden?

Verwenden Sie Sticky Sessions. Wenn Sie einen rotierenden Proxy übergeben, löst CaptchaAI möglicherweise von einer anderen IP aus als der, die die Seite geladen hat.

Was passiert, wenn mein Proxy ausfällt?

CaptchaAI gibt ERROR_PROXY_CONNECTION_FAILED zurück. Implementieren Sie eine Wiederholungslogik mit einem Fallback-Proxy.


Verwandte Leitfäden

  • SOCKS5-Proxy + CaptchaAI
  • Rotierende Residential-Proxys
  • Bright Data + CaptchaAI

Proxy an CaptchaAI für IP-angepasste CAPTCHA-Lösung übergeben.

Diskussionen (0)

Noch keine Kommentare.