首页 > 学院 > 开发设计 > 正文

Tornado是什么

2019-11-08 03:11:34
字体:
来源:转载
供稿:网友

简单Web服务器

Hello_Tornado.pyimport tornado.httpserverimport tornado.ioloopimport tornado.optionsimport tornado.webfrom tornado.options import define, optionsdefine("port", default=8000, help="run on the given port", type=int)#定义在命令行情况下出传递参数的情况class IndexHandler(tornado.web.RequestHandler): def get(self): greeting = self.get_argument('greeting', 'Hello') #获取get参数,如果获取不到用第二个参数来代替 self.write(greeting + ', friendly user!') #以字符串的形式作为HttPResponseif __name__ == "__main__": #启动Tornado的相关语句 tornado.options.parse_command_line() app = tornado.web.application(handlers=[(r"/", IndexHandler)]) ##首先使用Option来解析命令行,然后实例化类传递handlers,判断响应需要的类 http_server = tornado.httpserver.HTTPServer(app) http_server.listen(options.port) tornado.ioloop.IOLoop.instance().start() #监听端口

在这个程序里可以使用python hello.py –port=8080来启动本地的开发服务器,在Tornado中又一个好用的函数Options

参数Handlers

app = tornado.web.application(handlers=[(r"/",IndexHandler)])

使用正则表达式指定路径

指定路径是使用字符串

字符串服务

import textwrapimport tornado.httpserverimport tornado.ioloopimport tornado.optionsimport tornado.webfrom tornado.options import define, optionsdefine("port", default=8000, help="run on the given port", type=int)class ReverseHandler(tornado.web.RequestHandler): def get(self, input): #获取链接形式的传递参数 self.write(input[::-1])class WrapHandler(tornado.web.RequestHandler): def post(self): text = self.get_argument('text') #获取参数形式的传参 width = self.get_argument('width', 40) self.write(textwrap.fill(text, int(width)))if __name__ == "__main__": tornado.options.parse_command_line() app = tornado.web.Application( handlers=[ (r"/reverse/(/w+)", ReverseHandler), (r"/wrap", WrapHandler) ] ) http_server = tornado.httpserver.HTTPServer(app) http_server.listen(options.port) tornado.ioloop.IOLoop.instance().start()

More

HTTP状态吗 404 400 405 500 200


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表