使用python请求处理Google Recaptcha

时间:2017-04-10 13:37:10

标签: python http python-requests recaptcha

我正在使用请求模块创建Web bot。我需要通过一个包含recaptcha的表单。我有一个本地网站,可以为此recaptcha生成g-captcha响应。我想知道g-captcha-response是否是通过recaptcha所必需的唯一post参数。如果没有,我需要发布哪些其他信息?

这是我的代码:

CaptchaKey = # g-captcha-response from my local website

Session = requests.Session()
FormData = {
    'g-captcha-response': CaptchaKey
}
Session.post(SubmitURL, data=FormData)

1 个答案:

答案 0 :(得分:0)

reCaptcha documentation在这里提供了一个非常好的引导。使用Python和请求,您可以查看以下内容,最基本的内容。

import requests, json

try:
    content = requests.post(
        'https://www.google.com/recaptcha/api/siteverify',
        data={
            'secret': RECAPTCHA_SECRET,
            'response': captcha_response_from_form,
            'remoteip': USER_IP_ADDRESS,
        }
    ).content
except ConnectionError: # Handle fundamental connectivity issues
    # Handle your error state

# Will throw ValueError if we can't parse Google's response
content = json.loads( content )

if not 'success' in content or not content['success']:
    # The reCaptcha hasn't passed...