我http.server在代码中运行来加载本地 html,但我不希望服务器每次发出请求时都登录控制台。
我查看了这篇文章: 如何静默/安静 HTTPServer 和 BasicHTTPRequestHandler's stderr 输出?
并尝试了一下,但它返回一个错误:missing 3 required positional arguments
class main()
def openHttpServer(self):
port = 8000
Handler = http.server.SimpleHTTPRequestHandler
self.httpd = socketserver.TCPServer(("", port), Handler)
self.httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)
我希望它能以相同的方式工作,但无需SimpleHTTPRequestHandler登录控制台。
Thr*_*kel 11
我按照几篇文章中的建议通过子分类修复了它
所以,如果我现在使用http.server.SimpleHTTPRequestHandlerasHandler我将它作为子类传递给这里:
class quietServer(http.server.SimpleHTTPRequestHandler):
log_message只需编写with的函数,pass这样它就不会返回登录请求。
def log_message(self, format, *args):
pass
Run Code Online (Sandbox Code Playgroud)
所以整个代码会是这样的:
import http.server
import socketserver
PORT = 8080
class quietServer(http.server.SimpleHTTPRequestHandler):
def log_message(self, format, *args):
pass
with socketserver.TCPServer(("", PORT), quietServer) as httpd:
httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4888 次 |
| 最近记录: |