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)
Beteiligen Sie sich an der Unterhaltung
Melden Sie sich an, um Ihre Meinung zu teilen.
AnmeldenNoch keine Kommentare.