gpt4 book ai didi

python - 从另一个线程关闭 Python BasicHTTPServer

转载 作者:太空宇宙 更新时间:2023-11-03 11:51:02 24 4
gpt4 key购买 nike

我有一个脚本,它在一个线程中设置了一个 BasicHTTPServer,这样主脚本就可以自动打开一个指向服务器 url 的网络浏览器来下载文件。下载文件后,我想关闭该服务器,但我不知道该怎么做。这是我目前所做的示例:

def server():
HandlerClass = SimpleHTTPRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol = 'HTTP/1.0'

server_address = ('127.0.0.1', 8000)
HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)
httpd.serve_forever()

def download():
t = threading.Thread(name='server', target=server)
t.start()
webbrowser.open('safari-http://127.0.0.1:8000/')

我想在 webbrowser.open() 之后关闭服务器。

谢谢

最佳答案

我试过给定的例子 here .你能检查一下它是否适合你吗。

runFlag = True
def server(server_class=BaseHTTPServer.HTTPServer,
handler_class=BaseHTTPServer.BaseHTTPRequestHandler):
global runFlag
server_address = ('127.0.0.1', 8000)
HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)
while runFlag:
httpd.handle_request()
httpd.shutdown()

def download():
t = threading.Thread(name='server', target=server)
t.start()
webbrowser.open('https:\\www.google.com')
global runFlag
runFlag = False

关于python - 从另一个线程关闭 Python BasicHTTPServer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27860182/

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