ReCaptchaV3: reCAPTCHA v3 lösen
Erstellen Sie die Aufgabe mit der Methode createTask und erhalten Sie das Ergebnis mit der Methode getTaskResult.
Die von uns unterstützten Aufgabentypen (types
):
ReCaptchaV3Task
dieser Aufgabentyp erfordert Ihre eigenen Proxys.ReCaptchaV3EnterpriseTask
dieser Aufgabentyp erfordert Ihre eigenen Proxys.ReCaptchaV3TaskProxyLess
verwendet den eingebauten Proxy des Servers.ReCaptchaV3EnterpriseTaskProxyLess
verwendet den eingebauten Proxy des Servers.
Aufgabe erstellen
Erstellen Sie eine Aufgabe mit der Methode createTask.
Bevor Sie eine Aufgabe erstellen, müssen Sie möglicherweise deren Callback-Funktionen finden, wenn Sie Tokens in Automatisierungstools wie Playwright und Puppeteer verwenden möchten. Referenz:
Aufgabenobjektstruktur
Wenn Sie nicht wissen, wie Sie Parameter einstellen sollen, verwenden Sie bitte die CapSolver Extension, um die erforderlichen Parameter automatisch zu erhalten.
- Referenzartikel: Wie man jedes Captcha erkennt und seine Parameter extrahiert
Wenn Sie feststellen, dass das v3-Token ungültig ist, verwenden Sie bitte die CapSolver Extension, um die JSON-Konfiguration zu erhalten und senden Sie sie an unseren Kundenservice zur Konfiguration. Nach der Konfiguration wird die Token-Bewertung erheblich verbessert.
Eigenschaften | Typ | Erforderlich | Beschreibung |
---|---|---|---|
type | String | Erforderlich | ReCaptchaV3Task ReCaptchaV3TaskProxyLess ReCaptchaV3EnterpriseTask ReCaptchaV3EnterpriseTaskProxyLess |
websiteURL | String | Erforderlich | Die Adresse der Webseite mit reCAPTCHA. |
websiteKey | String | Erforderlich | reCAPTCHA-Website-Schlüssel. |
proxy | String | Optional | Erfahren Sie mehr unter Proxys verwenden. |
pageAction | String | Optional | Für ReCaptchaV3: Den Wert des action -Parameters finden Sie, indem Sie nach grecaptcha.execute suchen. |
enterprisePayload | Object | Optional | Für die Enterprise-Version suchen Sie nach grecaptcha.enterprise.render und übergeben den s -Parameter. |
isSession | Bool | Optional | Session-Modus, wenn aktiviert, wird ein recaptcha-ca-t -Wert zurückgegeben, der als Cookie verwendet wird. Er erscheint normalerweise in v3.Hinweis: Einige Websites erfordern einen recaptcha-ca-e -Wert, der normalerweise in v2 erscheint. Wenn dieser Wert vorhanden ist, wird er automatisch zurückgegeben, ohne dass zusätzliche Parameter gesetzt werden müssen. |
apiDomain | String | Optional | Der Domainname zum Laden des Captchas. Normalerweise muss dieser Parameter nicht übergeben werden. • http://www.google.com/ • http://www.recaptcha.net/ |
Beispielanfrage
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaV2Task",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"enterprisePayload": {
"s": "SOME_ADDITIONAL_TOKEN" // Optional
},
"isInvisible": false, // Optional
"pageAction": "submit", // Optional
"apiDomain": "", // Optional
"proxy": "http:ip:port:user:pass", // socks5:ip:port:user:pass, Optional
}
}
Nachdem Sie uns die Aufgabe übermittelt haben, sollten Sie bei Erfolg in der Antwort eine ‘taskId’ erhalten. Bitte lesen Sie errorCode: vollständige Fehlerliste, wenn Sie die Task-ID nicht erhalten haben.
Beispielantwort
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Ergebnisse abrufen
Nachdem Sie die taskId haben, müssen Sie die taskId übermitteln, um die Lösung abzurufen. Die Antwortstruktur wird in getTaskResult erklärt.
Abhängig von der Systemauslastung erhalten Sie die Ergebnisse innerhalb eines Intervalls von 1s
bis 10s
.
Beispielanfrage
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Beispielantwort
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"userAgent": "xxx", // User-Agent
"secChUa": "xxx", // Sec-Ch-Ua
"createTime": 1671615324290, // Die Erstellungszeit des Tokens
"gRecaptchaResponse": "3AHJ......", // Token
"recaptcha-ca-t": "AbEM......", // Einige v3-Websites haben einen Session-Modus. Nach Aktivierung von isSession wird dieser Parameter zurückgegeben und als Cookie verwendet.
"recaptcha-ca-e": "Abp_......" // Einige v2-Websites haben diesen Parameter, der als Cookie verwendet wird. Wenn ein solcher Wert vorhanden ist, wird er automatisch zurückgegeben.
},
"status": "ready"
}
SDK-Anfrage verwenden
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": "https://www.google.com",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-",
"pageAction": "login",
})
Beispielcode
# pip install requests
import requests
import time
# TODO: set your config
api_key = "YOUR_API_KEY" # your api key of capsolver
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-" # site key of your target site
site_url = "https://www.google.com" # page url of your target site
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV3TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url,
"pageAction": "login",
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Failed to create task:", res.text)
return
print(f"Got taskId: {task_id} / Getting result...")
while True:
time.sleep(1) # delay
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", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
token = capsolver()
print(token)