我正在使用请求模块创建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)
答案 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...