Python CGI 如何返回 HTTP 状态码,例如 403?
我的Python CGI怎么才能返回一个特定的HTTP状态码,比如403或者418呢?
我试过简单的方法(打印“Status:403 Forbidden”),但是没有效果。
2 个回答
0
我想你是在找 send_error
这个东西。它在 Python 3 的 http.server
里面。
22
print 'Status: 403 Forbidden'
print
对我来说是有效的。不过你确实需要第二个打印语句,因为你需要两个换行符来结束HTTP响应头。否则,你的网络服务器可能会抱怨你没有发送完整的头信息。
sys.stdout('Status: 403 Forbidden\r\n\r\n')
根据RFC的规定,这样做可能在技术上更正确(假设你的CGI脚本在Windows上不是以文本模式运行)。不过这两种换行方式在各个地方似乎都能正常工作。