FriendlyCaptcha: résoudre Friendly Captcha
TIP
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 prenons en charge :
FriendlyCaptchaTaskProxyless
Créer une tâche
Créez une tâche de reconnaissance avec la méthode createTask.
Structure de l’objet tâche
| Propriétés | Type | Requis | Description |
|---|---|---|---|
| type | String | Requis | FriendlyCaptchaTaskProxyless |
| websiteURL | String | Requis | L’adresse de la page où le Friendly Captcha est résolu |
| websiteKey | String | Requis | Clé du site web |
Exemple de requête
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "FriendlyCaptchaTaskProxyless",
"websiteURL": "https://www.yourtarget.com/",
"websiteKey": "FBTMEAFCK477GTRU"
}
}Après avoir soumis la tâche, vous devriez recevoir un ‘taskId’ dans la réponse si elle est réussie. Veuillez consulter errorCode : liste complète des erreurs si vous n’avez pas reçu l’identifiant de tâche.
Exemple de réponse
{
"errorId": 0,
"errorDescription": "",
"status": "idle",
"taskId": "0a9b8fad-66e5-4271-96a3-bee8751cfb83"
}Obtenir les résultats
Une fois que vous avez le taskId, vous devez soumettre le taskId pour récupérer la solution. La structure de la réponse est expliquée dans getTaskResult.
Exemple de requête
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "0a9b8fad-66e5-4271-96a3-bee8751cfb83"
}Exemple de réponse
{
"errorId": 0,
"taskId": "0a9b8fad-66e5-4271-96a3-bee8751cfb83",
"status": "ready",
"solution": {
"token": "72b43902cd1457f6880dd3735c50070d.Z0+9+Hcx7KGSmHd1AQwtjQ..."
}
}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 = "FBTMEAFCK477GTRU" # site key of your target site
site_url = "https://www.yourtarget.com" # page url of your target site
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'FriendlyCaptchaTaskProxyless',
"websiteKey": site_key,
"websiteURL": site_url
}
}
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('token')
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
token = capsolver()
print(token)