《Introduction to Tornado》笔记03-HTTP状态码+重写默认的错误响应+通用的自定义错误处理
HTTP状态码
自定义错误响应 —— 用post方式去请求类中的get方法对应的url——不建议这么写
代码如下:
import tornado.httpserver import tornado.ioloop import tornado.web import tornado.options from tornado.options import define, options define("port", default=8005, help="run on the gevent port", type=int) define("host", default="127.0.0.1", help="run on the gevent port", type=str) class MyIndexHandler(tornado.web.RequestHandler): def get(self): print("GET方法。。。") arg = self.get_argument("arg", "HELLO") self.write(arg) def write_error(self, status_code, **kwargs): print("write_error...") # super().write_error(status_code, **kwargs) print(status_code) self.write("status_code") HANDLERS = [ (r"/index", MyIndexHandler) ] if __name__ == '__main__': print(options.host, options.port) # tornado.options.parse_command_line() app = tornado.web.Application( handlers=HANDLERS, debug=True, ) http_server = tornado.httpserver.HTTPServer(app) http_server.listen(port=options.port, address=options.host) tornado.ioloop.IOLoop.instance().start()
—— 在postman工具中用post方法去请求这个url的结果如下:
通用的自定义错误处理方式 —— 讲错误处理的方法写在一个“基类”里面
参考下面的博客:
https://strawhatfy.github.io/2016/01/30/tornado.web_handle_exception/
https://www.jianshu.com/p/e5b1d1c94a40