Cloudflare: Herausforderung lösen
TIPP
Erstellen Sie die Aufgabe mit der createTask-Methode und erhalten Sie das Ergebnis mit der getTaskResult-Methode.
Hinweis
- Proxy ist notwendig, bitte verwenden Sie statische Proxys oder Sticky Proxys anstelle von rotierenden Proxys.
- Unterstützung für benutzerdefinierte userAgent. Bitte halten Sie ihn identisch mit dem, den Sie verwenden.
- Wenn Sie die Lösung nicht erhalten, könnte Ihre IP blockiert sein. Bitte versuchen Sie, Ihren Proxy zu wechseln.
- Sie müssen die TLS-Anfragebibliothek verwenden, um die Zielwebsite anzufragen.
Der Aufgabentyp type
ist wie folgt
AntiCloudflareTask
Aufgabe erstellen
Erstellen Sie die Aufgabe mit der createTask.
Aufgabenobjekt-Struktur
Eigenschaften | Typ | Erforderlich | Beschreibung |
---|---|---|---|
type | String | Erforderlich | AntiCloudflareTask |
websiteURL | String | Erforderlich | Die Adresse der Zielseite. |
proxy | String | Erforderlich | Ihr statischer Proxy oder Sticky Proxy. Erfahren Sie mehr über Proxys verwenden |
userAgent | String | Optional | Der user-agent , den Sie zur Anfrage der Zielwebsite verwendet haben. Es wird nur der userAgent von Chrome unterstützt |
Beispielanfrage
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "AntiCloudflareTask",
"websiteURL": "https://www.yourwebsite.com",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
"proxy": "ip:port:user:pass"
}
}
Beispielantwort
{
"errorId": 0,
"status": "idle",
"taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca"
}
Ergebnis abrufen
Verwenden Sie die Methode getTaskResult, um die Erkennungsergebnisse zu erhalten
Je nach Website und Proxy erhalten Sie die Ergebnisse innerhalb eines Intervalls von 2s
bis 20s
Beispielanfrage
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca"
}
Beispielantwort
{
"errorId": 0,
"taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca",
"status": "ready",
"errorCode": "",
"errorDescription": "",
"solution": {
"cookies": {
"cf_clearance": "Bcg6jNLzTVaa3IsFhtDI.e4_LX8p7q7zFYHF7wiHPo...uya1bbdfwBEi3tNNQpc"
},
"token": "Bcg6jNLzTVaa3IsFhtDI.e4_LX8p7q7zFYHF7wiHPo...uya1bbdfwBEi3tNNQpc",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"
}
}
SDK-Anfrage verwenden
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "AntiCloudflareTask",
"websiteURL": "https://www.yourwebsite.com",
"proxy": "ip:port:user:pass"
})
Beispielcode
# pip install requests
import requests
import time
api_key = "YOUR_API_KEY" # Ihr API-Schlüssel von capsolver
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": "AntiCloudflareTask",
"websiteURL": "https://www.yourwebsite.com",
"proxy": "ip:port:user:pass"
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Fehler beim Erstellen der Aufgabe:", res.text)
return
print(f"taskId erhalten: {task_id} / Ergebnis wird abgerufen...")
while True:
time.sleep(1) # Verzögerung
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {})
if status == "failed" or resp.get("errorId"):
print("Lösung fehlgeschlagen! Antwort:", res.text)
return
token = capsolver()
print(token)