Anleitung
Aufgabe (Token)
reCAPTCHA v3

ReCaptchaV3: reCAPTCHA v3 lösen

TIPP

Erstellen Sie die Aufgabe mit der Methode createTask und erhalten Sie das Ergebnis mit der Methode getTaskResult.

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

WARNUNG

Wenn Sie nicht wissen, wie Sie Parameter einstellen sollen, verwenden Sie bitte die CapSolver Extension, um die erforderlichen Parameter automatisch zu erhalten.


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.

Hochwertige Aufgabenversion (M1)

M1 ist der hochbewertete Aufgabentyp von reCAPTCHA v3. Es ist viel teurer als die Standardversion.

  • Bitte kontaktieren Sie uns, bevor Sie M1 verwenden
  • Anpassungen an bestimmte Websites erforderlich
  • Kann nur auf bestimmten Websites gut funktionieren

Preisliste

VersionAufgabentypPreis
Standardversion V3ReCaptchaV3Task
ReCaptchaV3TaskProxyLess
$1/k
Unternehmensversion V3ReCaptchaV3EnterpriseTask
ReCaptchaV3EnterpriseTaskProxyLess
$3/k
Standard-Ausgabe M1ReCaptchaV3M1Task
ReCaptchaV3M1TaskProxyLess
$3/k
Unternehmensversion M1ReCaptchaV3EnterpriseM1Task
ReCaptchaV3EnterpriseM1TaskProxyLess
$10/k
Der M1-Aufgabentyp ist ein kostengünstiger Aufgabentyp. Bitte bestätigen Sie den Preis und die Anpassungsbedürfnisse beim Kundenservice, bevor Sie sie für die Produktion verwenden.
EigenschaftenTypErforderlichBeschreibung
typeStringErforderlichStandard-Ausgabe
ReCaptchaV3Task
ReCaptchaV3TaskProxyLess
ReCaptchaV3EnterpriseTask
ReCaptchaV3EnterpriseTaskProxyLess

Hochwertige Version (M1)
ReCaptchaV3M1Task
ReCaptchaV3M1TaskProxyLess
ReCaptchaV3EnterpriseM1Task
ReCaptchaV3EnterpriseM1TaskProxyLess
websiteURLStringErforderlichDie Adresse der Webseite mit reCAPTCHA.
websiteKeyStringErforderlichreCAPTCHA-Website-Schlüssel.
proxyStringOptionalErfahren Sie mehr unter Proxys verwenden.
pageActionStringOptionalFür ReCaptchaV3: Den Wert des action-Parameters finden Sie, indem Sie nach grecaptcha.execute suchen.
enterprisePayloadObjectOptionalFür die Enterprise-Version suchen Sie nach grecaptcha.enterprise.render und übergeben den s-Parameter.
isSessionBoolOptionalSession-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.
apiDomainStringOptionalDer 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)