设置 tornado 服务器的响应行和响应头
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from tornado.options import define, parse_config_file, options
from tornado.web import Application, RequestHandler
define('port', type=int, default=8888, multiple=False)
parse_config_file('config')
class IndexHandler(RequestHandler):
def initialize(self):
'''get方法之前执行'''
print('initalize方法执行')
def get(self, *args, **kwargs):
self.write('hello tornado')
self.set_status(777, 'false code')
self.set_header('selfheader', 'self_header')
print('get方法执行')
def post(self, *args, **kwargs):
pass
def set_default_headers(self):
self.set_header('defaultheader', 'default_header')
def on_finish(self):
'''get方法之后执行'''
print('on_finish方法执行')
url_list = [('/', IndexHandler)]
app = Application(url_list)
server = HTTPServer(app)
server.listen(options.port)
IOLoop.current().start()
- 说明:
- 1、initialize 方法在get或post的方法之前执行
- 2、on_finish 方法在get或post的方法之后执行
- 3、finish 方法最后执行,一般不需要自己重写
- 设置服务器的响应
- 1、设置响应行的状态码
- 在get方法中使用self.set_status(404) 将页面的状态码设置为404,但页面可以正常响应
- 在get方法中使用self.set_status(777, ‘false code’) 页面可以正常响应,状态码为777
- 2、设置响应头
- 在get方法中使用self.set_header(‘selfheader’, ‘self_header’) 设置响应头中的内容
- 在set_default_headers方法中使用self.set_header(‘defaultheader’, ‘default_header’) 设置响应头中的内容
- 说明:get方法在set_default_headers方法之后执行,如果两个方法设置了同一个键名的响应头,以get方法设置的响应头为准