适用于 CGI 程序员的 CherryPy
2008-09-30 13:11:14 来源:WEB开发网清单 8. 设置 HTTP 标题状态
@cpg.expose
def forbidden(self):
"Hit the '/forbidden' URL to be denied access."
cpg.response.headerMap['Status'] = '503 Forbidden'
return "You don't have permission to access this resource."
若要将某个 HTTP 重定向,您可以手工设置 Status 和 Location 标题,或者可以使用 CherryPy 的 httputils 助手库的 redirect 方法,它完成相同的工作:
清单 9. 使用 CherryPy 的 httputils 助手库的 redirect 方法
@cpg.expose
def redirect(self):
"Hit the '/redirect' URL to be redirected."
from cherrypy.lib import httptools
httptools.redirect('./destination')
@cpg.expose
def destination(self):
"This is where you end up if you hit the '/redirect' URL."
from cherrypy.lib import httptools
cpg.response.headerMap['Content-Type'] = 'text/plain'
return 'Here is some plain text.'
cpg.root = Application()
cpg.server.start()
在一个会话中保持持续信息
考虑一个这样的应用程序,在其中我可以点击 URL /name/set?name=leonardr 来设置一些数据,然后我可以点击 URL /name/show,并被告知 Your previously set name is leonardr。由于第二个请求使用来自第一个请求的信息,所以这两个请求都必须是单个会话的组成部分。我第一次请求中发送的字符串 leonardr 存储在服务器的某个位置。当我进行第二次请求时,不知何故我被认为是发送第一个请求的同一人,并检索到我与第一个请求一起发送的信息。
- ››程序员面试问题锦集
- ››程序员:使用 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++程序设计陷阱》
更多精彩
赞助商链接