• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

python为tornado添加recaptcha验证码功能

PHP admin 1年前 (2018-05-31) 8次浏览 未收录 0个评论
复制代码 代码如下:

from urllib.request import urlopen
from urllib.parse import urlencode
import tornado.httpserver
import tornado.ioloop
import tornado.web

#获取key: https://www.google.com/recaptcha/whyrecaptcha
publickey = ‘填入你的 public key’
privatekey = ‘填入你的 private key’

class Application(tornado.web.Application):
def __init__(self):
handlers = [
(r’/’, IndexHandler)
]
settings = dict(
template_path=”templates”,
)

tornado.web.Application.__init__(self, handlers, **settings)

class IndexHandler(tornado.web.RequestHandler):
def get(self):
self.render(‘index.html’, publickey=publickey)

def post(self):
url = ‘http://www.google.com/recaptcha/api/verify’

#验证码
challenge = self.get_argument(‘recaptcha_challenge_field’)
#用户输入
response = self.get_argument(‘recaptcha_response_field’)

data = {
‘privatekey’: privatekey,
‘remoteip’: self.request.remote_ip,
‘challenge’: challenge,
‘response’: response
}

res = urlopen(url, data=urlencode(data).encode())
#获取验证结果,这里直接将返回结果输出到页面
self.write(res.read().decode())

if __name__ == ‘__main__’:
server = tornado.httpserver.HTTPServer(Application())
server.listen(10001)
tornado.ioloop.IOLoop.instance().start()

templates/index.html

复制代码 代码如下:

jb51.net
jb51.net
jb51.net
jb51.netjb51.netreCaptcha验证码
jb51.net
jb51.net
jb51.netjb51.net

jb51.netjb51.net
jb51.netjb51.net
jb51.netjb51.netjb51.net

jb51.netjb51.netjb51.net
jb51.netjb51.netjb51.net
jb51.netjb51.net
jb51.netjb51.net

jb51.net
jb51.net


39MO , 版权所有丨如未注明 , 均为原创丨转载请注明原文链接:python为tornado添加recaptcha验证码功能
喜欢 (0)
[1353713598@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址