20201209Introduction_To_Tornado 学习01
程序员文章站
2024-01-09 23:01:04
使用tornado搭建简单的web服务from tornado.options import define, parse_command_line, optionsfrom tornado.web import RequestHandlerimport tornado.httpserverimport tornado.ioloopdefine("port", default=1010, help="port----", type=int)define("debug", default=Fals...
使用tornado搭建简单的web服务
from tornado.options import define, parse_command_line, options
from tornado.web import RequestHandler
import tornado.httpserver
import tornado.ioloop
define("port", default=1010, help="port----", type=int)
define("debug", default=False, help="debug----")
class IndexHandelr(RequestHandler):
def get(self):
self.write("hello-wordl!")
class IndexHandler2(RequestHandler):
def get(self, name: str):
self.write(name)
if __name__ == '__main__':
parse_command_line()
app = tornado.web.Application([(r"/index", IndexHandelr),
(r"/get/(\d+)", IndexHandler2)],
debug=options.debug)
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
访问地址:http://127.0.0.1:1010/index,得到write中的内容
- define中设置的属性会成为options中的全局属性,define中的type参数是校验对应的值类型,如果不是相应的类型将会抛出异常, 访问对应的端口和调试模式使用options.port, options.debug
- parse_command_line() 方法:解析命令行参数,运行py文件时:python app.py --port=1010 --debug=1,就能解析出其中的port和debug参数值
- IndexHandler是相应类,能使用不同的handler对应不同的路由来相应请求
- Application对象被创建之后传给HttpServer对象,然后使用指定的端口监听(options.port)
- 路由(r"/"),可以是正则表达式,一个handler可以对应多个路由,这些路由执行的都是对应handler中的请求方法
- (\d+)是使用正则表达式,d可以传数值
常用的http状态码
本文地址:https://blog.csdn.net/ayangann915/article/details/110928145