WEB开发网
开发学院软件开发Python 适用于 CGI 程序员的 CherryPy 阅读

适用于 CGI 程序员的 CherryPy

 2008-09-30 13:11:14 来源:WEB开发网   
核心提示: class Application:@cpg.exposedef index(self):items = [x + ': ' + y for x,y in cpg.request.headerMap.items()]return "<br />&quo

class Application:
  @cpg.expose
  def index(self):
    items = [x + ': ' + y for x,y in cpg.request.headerMap.items()]
    return "<br />".join(items)

运行该应用程序并访问 http://localhost:8080/,您将会看到您的浏览器与其请求一起发送的所有 HTTP 标题的列表清单。

写到响应对象

对 HTTP 请求怎样,对响应也就怎样。CherryPy 应用程序方法通常情况下会以字符串的形式返回响应的正文,但是有时需要您设置附加的 HTTP 标题,进行一个重定向,或者改变 HTTP 响应代码。您可以借助对每个方法都可用的对象 cpg.response 来完成所有这些事情。

cpg.response.headerMap 是外出 HTTP 标题的映射,就像 cpg.request.requestMap 是进入标题的映射一样:

清单 7. cpg.response.headerMap 是外出 HTTP 标题的映射

#!/usr/bin/env python
from cherrypy import cpg
class Application:
  @cpg.expose
  def setHeader(self, header, value):
    """Hit the '/setHeader?header=Value&foo=bar' URL to get a
  response in which the HTTP header "foo" has a value of
  "bar"."""
    cpg.response.headerMap[header] = value
    return 'Set HTTP response header "%s" to "%s"' % (header, value)

HTTP 状态代码只不过是一个叫做 Status 的 HTTP 标题,所以您可以将它设置为 404、503,或者您需要的其他状态:

上一页  1 2 3 4 5 6 7 8  下一页

Tags:适用 CGI 程序员

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接