python - 在烧瓶中使用 recaptcha 时输入密码无效
问题描述
我有一个烧瓶应用程序,我想在其中使用 recapchta 来发送电子邮件。
到目前为止,我已经完成了所有工作,并且似乎一切正常,但是当我在 localhost 上测试应用程序时,我收到一个错误代码作为 JSON 响应。
这是错误代码:
('JSON: ', {u'error-codes': [u'invalid-input-secret'], u'success': False})
所以我检查了密码是否正确写入,我什至尝试删除它,并制作一个新的。但我怀疑两者都不起作用,我可能会在我的代码中编写它
笔记!我没有使用 WTForms(因为它不是登录,只是一个简单的邮件 API)。
这是我编写配置的方式:
app.config.update({'RECAPTCHA_ENABLED': True,
'RECAPTCHA_SITE_KEY':
'6Ldj2GcUAAAAAA7MuBOKsDRIk1fMLvNaGBtrB7Du',
'RECAPTCHA_SECRET_KEY':
'(secret key is written here correctly)'})
有谁知道为什么我不断收到这个错误?
我应该将密钥放在 config.py 文件中吗?
解决方案
好的,所以我找到了一种让它工作的方法,但我认为这不是最佳解决方案(非常欢迎评论或其他答案),我将我的密钥直接放在这样的方法中:
r = requests.post('https://www.google.com/recaptcha/api/siteverify',
data = {'secret' :
'secret-key inserted here directly',
'response' :
request.form['g-recaptcha-response']})
google_response = json.loads(r.text)
print('JSON: ', google_response)
我认为这可能不是出于安全原因的最佳原因,我认为它应该首先存储为变量,但是,我尝试了一些不同的配置,但它不起作用。
推荐阅读
- c - Brainfuck解释器没有运行一些代码
- tensorflow - TensorFlow Dataset 的函数 cache() 和 prefetch() 有什么作用?
- python - 从文本pyspark中提取字符串
- ios - 仅当两个文本字段都填写时,如何在 Swift 中添加两个数字
- node.js - 是否有可能从机器人获得公会规模,而不是我的?
- c++ - 在不同文件之间传输变量
- sql-server - 创建现有数据库的副本并使用 Powershell 脚本对其进行重命名
- javascript - 如何匹配列表中的值,但在 Javascript 中返回它后面的值?
- java - 提交Android构建后Flurry CN1Lib错误
- r - 在 R 中为每一行拆分逗号分隔的字符串