设置 tornado 服务器的响应行和响应头

设置 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(404)
        # 设置响应头的状态码为404,但页面可以正常响应

        self.set_status(777, 'false code')
        # 设置一个未知的响应头状态码'777', '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方法设置的响应头为准
发布了75 篇原创文章 · 获赞 87 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43883022/article/details/103026880