How to validate a ReCaptcha response server side with Python?(如何用Python验证ReCaptcha响应服务器端?)
本文介绍了如何用Python验证ReCaptcha响应服务器端?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想检查客户端在我的注册表单中使用react-google-recaptcha生成的响应。
不幸的是,我不知道如何使用Python在服务器端验证它。
我尝试了recaptcha-client:https://pypi.python.org/pypi/recaptcha-client,但它似乎希望从直接使用相同库生成的iframe获得响应。
推荐答案
实际上非常简单,不需要任何库来执行此验证,遵循谷歌的文档:https://developers.google.com/recaptcha/docs/verify
我只需对地址中的参数进行编码,并向Google服务器发送请求,以下是我的代码,请注意,我使用的是Flask,但对于任何Python后端,原理都是相同的:
from urllib.parse import urlencode
from urllib.request import urlopen
import json
URIReCaptcha = 'https://www.google.com/recaptcha/api/siteverify'
recaptchaResponse = body.get('recaptchaResponse', None)
private_recaptcha = '6LdXXXXXXXXXXXXXXXXXXXXXXXX'
remote_ip = request.remote_addr
params = urlencode({
'secret': private_recaptcha,
'response': recaptchaResponse,
'remote_ip': remote_ip,
})
# print params
data = urlopen(URIReCaptcha, params.encode('utf-8')).read()
result = json.loads(data)
success = result.get('success', None)
if success == True:
print 'reCaptcha passed'
else:
print 'recaptcha failed'
这篇关于如何用Python验证ReCaptcha响应服务器端?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:如何用Python验证ReCaptcha响应服务器端?
基础教程推荐
猜你喜欢
- 对多索引数据帧的列进行排序 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
