fix: 增加最大轮询尝试次数以提高任务结果获取的成功率

This commit is contained in:
晓丰 2025-05-31 04:54:49 +08:00
parent 3a80b9ce9e
commit 7bfd9d8181

View File

@ -251,7 +251,7 @@ def solve_recaptcha_v3_with_proxy(
keyword: str, keyword: str,
max_task_retries: int = 3, max_task_retries: int = 3,
polling_interval: float = 3, polling_interval: float = 3,
max_poll_attempts: int = 5 max_poll_attempts: int = 10
) -> str: ) -> str:
create_url = "https://api.capsolver.com/createTask" create_url = "https://api.capsolver.com/createTask"
result_url = "https://api.capsolver.com/getTaskResult" result_url = "https://api.capsolver.com/getTaskResult"
@ -274,15 +274,17 @@ def solve_recaptcha_v3_with_proxy(
} }
} }
resp = requests.post(create_url, json=payload, headers=headers, timeout=30) resp = requests.post(create_url, json=payload, headers=headers, timeout=30)
logger.info(f"[token] 发送 payload:{payload}")
resp.raise_for_status() resp.raise_for_status()
task_id = resp.json()["taskId"] task_id = resp.json()["taskId"]
logger.info(f"task_id: {task_id}")
# 轮询获取结果 # 轮询获取结果
check_payload = {"clientKey": "CAP-A76C932D4C6CCB3CA748F77FDC07D996", "taskId": task_id} check_payload = {"clientKey": "CAP-A76C932D4C6CCB3CA748F77FDC07D996", "taskId": task_id}
for _ in range(max_poll_attempts): for i in range(max_poll_attempts):
r = requests.post(result_url, json=check_payload, headers=headers, timeout=10) r = requests.post(result_url, json=check_payload, headers=headers, timeout=10)
r.raise_for_status() r.raise_for_status()
result = r.json() result = r.json()
logger.info(f"{i}次,task_id:{task_id},结果:{result}")
if result.get("status") == "ready": if result.get("status") == "ready":
return result["solution"]["token"] return result["solution"]["token"]
time.sleep(polling_interval) time.sleep(polling_interval)