gpt4 book ai didi

Python HTTPServer serve_forever 控制台输入

转载 作者:可可西里 更新时间:2023-11-01 16:36:07 32 4
gpt4 key购买 nike

我正在用 Python3 编写一个非常简单的应用程序,它只是根据通过 Python http.server.BaseHTTPRequestHandler、HTTPServer 模块接收到的 POST 输入运行某些服务器端命令。

目前我的代码如下:

mysql_tools.f_print("Starting HTTP server on %s:%s.." % SERVER_ADDRESS)
httpd = HTTPServer(SERVER_ADDRESS, S)
mysql_tools.f_print("Server started. Now serving port %s." % SERVER_ADDRESS[1])
httpd.serve_forever()

其中 S 是 BaseHTTPRequestHandler 类。

现在,我也希望能够有控制台输入。该应用程序在 CMD 窗口中运行并仅显示“服务器已启动。现在服务端口 1010”,但是我希望能够在 CMD 窗口中键入“停止”并进行相应处理,或者“重新启动”或“forcerequest” "等等等等。但是您可能知道,由于“serve_forever()”,它没有任何输入,它会忽略任何 future 的代码行,因为它似乎无限期地循环。

任何建议或为港口提供服务的替代方式将被应用。

最佳答案

AFAIK,没有办法,至少不是从那个窗口,(不是因为 serve_forever),任何服务器都会那样做,它只是监听 SIGTERM(CTRL+ Cshutdown())。

关于Python HTTPServer serve_forever 控制台输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46764881/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com