我有一个flask应用程序,我想在其中使用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文件中吗?
答案 0 :(得分:1)
好的,所以我找到了一种使之起作用的方法,但是我不认为这是最佳的解决方案(非常欢迎评论或其他答案),我将秘密密钥直接放在这样的方法中:
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)
出于安全原因,我认为这可能不是最佳原因,我认为应该首先将其存储为变量,但是,我尝试了一些不同的配置,但它没有用。