python cherrypy - 如何添加头部

11 投票
1 回答
9529 浏览
提问于 2025-04-16 17:56

我该如何在cherrypy中添加重试头信息?

  import cherrypy
  import os

  class Root:

    def index(self):
      cherrypy.response.headers['Retry-After'] = 60
      cherrypy.request.headers["Age"]= 20
      cherrypy.config.update({'Retry-After': '60'})

      raise cherrypy.HTTPError(503, 'Service Unavailable')
    index.exposed = True 

    cherrypy.quickstart(Root())

这个重试头信息的代码是有效的。

1 个回答

26

当你通过抛出 HTTPError 来设置状态码时,cherrypy.response.headers 中的头信息会被忽略。你应该通过设置 cherrypy.response.status 来正确设置HTTP状态:

import cherrypy

class Root:
    def index(self):
        cherrypy.response.headers['Retry-After'] = 60
        cherrypy.response.status = 503
        # Feel free to return a better error page than the following
        return "<h1>Service Unavailable</h1>"
    index.exposed = True

cherrypy.quickstart(Root())

撰写回答