现象
在tornado响应头中Server
暴露服务器框架和版本号位置如下图:
位置
经查看源码发现是在虚拟环境第三方包路径/torando/web.py
文件中RequestHandlerlei
类(或者导from tornado.web import RequestHandler
包进RequestHandler
类)在clear
方法中如下图:
解决办法
直接删除"Server": "TornadoServer/%s" % tornado.version,
这行代码即可。
def clear(self) -> None:
"""Resets all headers and content for this response."""
self._headers = httputil.HTTPHeaders(
{
"Content-Type": "text/html; charset=UTF-8",
"Date": httputil.format_timestamp(time.time()),
}
)
self.set_default_headers()
self._write_buffer = [] # type: List[bytes]
self._status_code = 200
self._reason = httputil.responses[200]
更改后如下图:
重写clear
方法
不建议在请求方法父类中重写该方法,重写该方法后会发现只有自己写的接口发生改变,在静态文件中"Server": "TornadoServer6.0.2"
还是存在
效果
更改后的效果如下:
结束
到此修改结束,个人方法有问题欢迎指出