ReCaptchaV3 : résoudre reCAPTCHA v3
Créez la tâche avec la méthode createTask et obtenez le résultat avec la méthode getTaskResult.
Les types de tâches types
que nous supportons :
ReCaptchaV3Task
ce type de tâche nécessite vos propres proxys.ReCaptchaV3EnterpriseTask
ce type de tâche nécessite vos propres proxys.ReCaptchaV3TaskProxyLess
utilise le proxy intégré au serveur.ReCaptchaV3EnterpriseTaskProxyLess
utilise le proxy intégré au serveur.
Créer une tâche
Créez une tâche avec la méthode createTask.
Avant de créer une tâche, si vous avez besoin d’utiliser des jetons dans des outils d’automatisation tels que playwright et puppeteer, vous devrez peut-être trouver leurs fonctions de rappel. Référence :
Structure de l’objet de tâche
Si vous ne savez pas comment définir les paramètres, veuillez utiliser l’extension CapSolver pour obtenir automatiquement les paramètres requis.
- Article de référence : Comment détecter n’importe quel Captcha et extraire ses paramètres
Si vous constatez que le jeton v3 est invalide, veuillez utiliser l’extension CapSolver pour obtenir la configuration JSON et l’envoyer à notre service client pour configuration. Après configuration, cela améliorera considérablement le score du jeton.
- Article de référence : Comment résoudre reCAPTCHA v2, invisible v2, v3, v3 Enterprise ≥0.9 score)
Propriétés | Type | Requis | Description |
---|---|---|---|
type | String | Requis | ReCaptchaV3Task ReCaptchaV3TaskProxyLess ReCaptchaV3EnterpriseTask ReCaptchaV3EnterpriseTaskProxyLess |
websiteURL | String | Requis | L’adresse du site web avec recaptcha. |
websiteKey | String | Requis | La clé du site web Recaptcha. |
proxy | String | Optionnel | Apprenez Utiliser des proxys. |
pageAction | String | Optionnel | Pour ReCaptchaV3 : Vous pouvez trouver la valeur du paramètre d’action en recherchant grecaptcha.execute |
enterprisePayload | Object | Optionnel | Pour la version entreprise, recherchez grecaptcha.enterprise.render et passez le paramètre s. |
isSession | Bool | Optionnel | Mode session, lorsqu’il est activé, renverra une valeur recaptcha-ca-t , qui est utilisée comme un cookie. Il apparaît généralement en v3.Note : Certains sites web nécessitent une valeur recaptcha-ca-e , qui apparaît généralement en v2. Si cette valeur est présente, elle sera automatiquement renvoyée sans aucun réglage de paramètre supplémentaire. |
apiDomain | String | Optionnel | Le nom de domaine pour charger le captcha. Généralement, ce paramètre n’a pas besoin d’être transmis. • http://www.google.com/ • http://www.recaptcha.net/ |
Exemple de requête
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
}
}
Après avoir soumis la tâche, vous devriez recevoir un ‘taskId’ dans la réponse si elle est réussie. Veuillez lire errorCode: liste complète des erreurs si vous n’avez pas reçu l’ID de la tâche.
Exemple de réponse
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Obtenir les résultats
Après avoir obtenu le taskId, vous devez soumettre le taskId pour récupérer la solution. La structure de la réponse est expliquée dans getTaskResult.
En fonction de la charge du système, vous obtiendrez les résultats dans un intervalle de 1s
à 10s
Exemple de requête
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
Exemple de réponse
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"userAgent": "xxx", // User-Agent
"secChUa": "xxx", // Sec-Ch-Ua
"createTime": 1671615324290, // The creation time of the token
"gRecaptchaResponse": "3AHJ......", // token
"recaptcha-ca-t": "AbEM......", // Some v3 websites have session mode. After enabling isSession, this parameter will be returned and used as a cookie.
"recaptcha-ca-e": "Abp_......" // Some v2 websites have this parameter, which is used as a cookie. If there is such a value, it will be automatically returned.
},
"status": "ready"
}
Utiliser la requête SDK
# 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",
})
Exemple de code
# 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_id, "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)