跳转到主要内容

验证码解决服务的通用接口

项目描述

Captcha Solution Python 包

Captcha Solution 包是一个简单的多个验证码解决服务的接口。

简单图像验证码

最简单的情况是将验证码图像存储到文件中。将文件句柄传递给 solve 方法。解决方案将存储在返回结果中的 "solution" 键中。在 "raw" 键中有一个完整的原始响应,这是验证码服务返回的。

from captcha_solution import CaptchaSolver

solver = CaptchaSolver('anticaptcha', api_key='YOUR-API-KEY')
with open('captcha.png', 'rb') as inp:
    res = solver.solve(inp)
    print(res['solution'])

自定义验证码

如果您想解决非图像类型的验证码(文本验证码,reCAPTCHA等),您必须使用相同的 solve 方法,但您需要传递参数字典。每个验证码服务都有自己的请求数据模式,因此您需要查阅文档以确定请求格式。

例如,使用 2captcha.com 解决 reCAPTCHA

文档https://2captcha.com/2captcha-api?form=3019071#solving_recaptchav2_new

所需的POST参数是:key,method,googlekey,pageurl。您不需要传递key(API密钥),它已经被解决器完成。代码如下

res = solver.solve({
    "method": "userrecaptcha",
    "googlekey": "VALUE-OF-SITE-KEY",
    "pageurl": "URL-OF-PAGE-WHERE-RECAPTCHA-IS-DISPLAYED"
})
print('Solution: %s' % res['solution'])
print('Raw Response: %s' % res['raw'])

例如,使用 anti-captcha.com 解决 reCAPTCHA

文档https://anticaptcha.atlassian.net/wiki/spaces/API/pages/5079084/Captcha+Task+Types 我们需要使用 NoCaptchaTaskProxyless 类型的任务。此任务对象具有所需键:type,websiteURL,websiteKey 代码如下

res = solver.solve({
    "task": {
        "type": "NoCaptchaTaskProxyless",
        "websiteKEY": "VALUE-OF-SITE-KEY",
        "websiteURL": "URL-OF-PAGE-WHERE-RECAPTCHA-IS-DISPLAYED",
    }
})
print('Solution: %s' % res['solution']['gRecaptchaResponse'])
print('Raw Response: %s' % res['raw'])

支持的验证码服务

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源码发行版

captcha-solution-0.0.5.tar.gz (5.5 kB 查看哈希值)

上传时间 源码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页