源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

python为tornado添加recaptcha验证码功能

  • 时间:2020-11-16 10:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:python为tornado添加recaptcha验证码功能
[u]复制代码[/u] 代码如下:
    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
[u]复制代码[/u] 代码如下:
   jb51.net<!DOCTYPE html> jb51.net<html> jb51.net<head> jb51.netjb51.net<title>reCaptcha验证码</title> jb51.net</head> jb51.net<body> jb51.netjb51.net<form action="" method="post"> jb51.netjb51.net<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k={{ publickey }}"></script> jb51.netjb51.net<noscript> jb51.netjb51.netjb51.net<iframe src="http://www.google.com/recaptcha/api/noscript?k={{ publickey }}" height="300" width="500" frameborder="0"></iframe><br> jb51.netjb51.netjb51.net<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea> jb51.netjb51.netjb51.net<input type="hidden" name="recaptcha_response_field" value="manual_challenge"> jb51.netjb51.net</noscript> jb51.netjb51.net</form> jb51.net</body> jb51.net</html>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部