适用于 CGI 程序员的 CherryPy
2008-09-30 13:11:14 来源:WEB开发网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,或者您需要的其他状态:
- ››程序员面试问题锦集
- ››程序员:使用 DB2 for z/OS 减少会话:第 1 部分:...
- ››CGI拒绝服务攻击技术浅析
- ››适用于Windows 7 7000的Intel PRO Wireless 2200B...
- ››适用于 CGI 程序员的 CherryPy
- ››程序员注意:Java开发最容易犯的21种错误
- ››程序员杂谈:Ajax优于JSF的几个原因讨论
- ››程序员生活 J2EE学习者值得研究的开源项目
- ››程序员学习Java的一剂良药:破坏源程序
- ››程序员必读:对JAVA语言的十个常见误解
- ››程序员眼中的qmail(qmail源代码分析)
- ››程序员必读的《C++程序设计陷阱》
更多精彩
赞助商链接