19

我的 python cgi 如何返回特定的 http 状态码,例如 403 或 418?

我尝试了明显的(打印“状态:403 禁止”),但它不起作用。

4

2 回答 2

21
print 'Status: 403 Forbidden'
print

为我工作。不过,您确实需要第二次打印,因为您需要一个双换行符来结束 HTTP 响应标头。否则,您的 Web 服务器可能会抱怨您没有向其发送完整的标头集。

sys.stdout('Status: 403 Forbidden\r\n\r\n')

根据 RFC,在技术上可能更正确(假设您的 CGI 脚本未在 Windows 上以文本模式运行)。然而,这两个行尾似乎在任何地方都有效。

于 2009-09-11T16:27:50.953 回答
0

我猜,你正在寻找send_error. 它将位于http.serverpy3k 中。

于 2009-09-11T16:14:22.270 回答