从另一个线程关闭Python BasicHTTPServer
发布时间:2020-12-20 13:47:02 所属栏目:Python 来源:网络整理
导读:我有一个脚本在一个线程中设置BasicHTTPServer,以便主脚本可以自动打开指向服务器URL的Web浏览器下载文件.下载文件后,我想关闭该服务器,但我不知道如何去做.这是我目前所做的一个例子: def server(): HandlerClass = SimpleHTTPRequestHandler ServerClass
我有一个脚本在一个线程中设置BasicHTTPServer,以便主脚本可以自动打开指向服务器URL的Web浏览器下载文件.下载文件后,我想关闭该服务器,但我不知道如何去做.这是我目前所做的一个例子:
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',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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |