在 OSX (darwin) 上使用 Python 2.7.2,我想隐藏或自定义 wsgiref.simple_server.make_server() 发送的“服务器”响应标头。
我尝试了很多事情都没有成功,并且很确定这个示例代码应该可以工作:
from wsgiref import simple_server
class MyWSGIRequestHandler(simple_server.WSGIRequestHandler):
server_version = "X/1"
sys_version = "Y/2"
httpd = simple_server.make_server('', 8082, simple_server.demo_app, handler_class=MyWSGIRequestHandler)
print "version_string: %s %s" % (httpd.RequestHandlerClass.server_version, httpd.RequestHandlerClass.sys_version)
# it prints "X/1 Y/2"
httpd.serve_forever()
但总是一样,没有办法摆脱服务器发送的“ Server: WSGIServer/0.1 Python/2.7.2 ”。我还尝试在我的类中覆盖 version_string 方法,例如使用类似的方法:
class MyWSGIRequestHandler(simple_server.WSGIRequestHandler):
def version_string(self):
return "42"
它没有任何改变,我真的不明白这里发生了什么。
有人能帮助我吗?