- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 http.server
来测试 Python 项目中的所有链接。如果我在运行我的脚本之前启动服务器,我可以让我的脚本工作,然后当我关闭终端窗口时服务器停止。但我真的很喜欢脚本本身来启动和停止服务器。
我做了一个测试脚本来简单地启动服务器,获取一个页面并证明服务器正在运行,然后停止服务器。我似乎无法获得服务器的 pid。当我试图在脚本运行后终止该脚本报告的 pid 时,我收到一条消息,指出没有这样的进程;但服务器仍在运行。
我如何获得服务器的正确 pid,或者更一般地说,我如何从脚本中停止服务器?
import os
import requests
from time import sleep
# Start server, in background.
print("Starting server...")
os.system('python -m http.server &')
# Make sure server has a chance to start before making request.
sleep(1)
print "Server pid: "
os.system('echo $$')
url = 'http://localhost:8000/index.html'
print("Testing request: ", url)
r = requests.get(url)
print("Status code: ", r.status_code)
最佳答案
这是我正在做的:
import threading
try:
from http.server import HTTPServer, SimpleHTTPRequestHandler # Python 3
except ImportError:
from SimpleHTTPServer import BaseHTTPServer
HTTPServer = BaseHTTPServer.HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler # Python 2
server = HTTPServer(('localhost', 0), SimpleHTTPRequestHandler)
thread = threading.Thread(target = server.serve_forever)
thread.daemon = True
thread.start()
def fin():
server.shutdown()
print('server running on port {}'.format(server.server_port))
# here is your program
如果您在程序中调用 fin
,则服务器会关闭。
关于python - 如何从 Python 脚本中终止 SimpleHTTPServer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19570591/
是否有一个简单的 java/jvm/groovy 服务器可用于像“python -m SimpleHTTPServer”http://docs.python.org/2/library/simpleh
我通过 ssh 连接到 VPN(Linux 计算机)并在那里调用以下命令: sibi::bash-> python -m SimpleHTTPServer Serving HTTP on 0.0.0.
我正在尝试使用 Python 中内置的 SimpleHTTPServer 在本地提供静态页面。我使用 python -m SimpleHTTPServer 启动它。 目前,HTML 只是
最近我一直在使用 Python 来发现它的潜力,并且偶然发现了 SimpleHTTPServer。 我在 Windows 10 上。 我跑: python -m SimpleHTTPServer 输出
我正在尝试编写一个启动服务器然后启动浏览器以查看服务内容的 shell 脚本 (cd app && python -m SimpleHTTPServer) & open http://localhos
是否可以使用 SimpleHTTPServer 提供子目录而不是当前目录? 我像这样从命令行使用它: python -m SimpleHTTPServer 5002 我想使用它的原因是我有一个 tar
我正在使用 SimpleHTTPServer 制作简单的文件共享实用程序。我希望能够在 http 传输完成时捕获,即客户端文件下载完成时。那时我想执行一些操作。这可能吗? 最佳答案 您可以覆盖 Sim
一个 Python 网络服务器开始于 python -m SimpleHTTPServer 将在控制台打印它已接受的请求。我可以让它打印返回连接被拒绝给客户端的请求吗? 我正在尝试调试它拒绝来自 An
我已经开始在 Mac OS X Bash 中使用 Python SimpleHTTPServer 来帮助进行前端模板化,而不是 MAMP。我喜欢这种简单性,但想知道是否有一种方法可以使用 includ
我正在从 powershell 运行 SimpleHTTPServer。 python -m SimpleHTTPServer 8080 我想在不关闭终端的情况下退出(control + break
可以通过以下方式从外部网络设置和访问 Apache 服务器: http://lifehacker.com/124212/geek-to-live--how-to-set-up-a-personal-h
我正在使用 python -m SimpleHTTPServer对于一个小项目。文件 index.html 引用了一些视频。 此文件的大小为 159 MB。当我尝试下载它时,SimpleHTTPSer
如何保存控制台的输出 “192.168.1.1 - - [18/Aug/2014 12:05:59] 代码 404,找不到消息文件” 到一个文件? 代码如下: import SimpleHTTPSer
我想用 Python 提供静态文件。 Python 3 http.server 是否适合在生产中使用?如果不是,为什么不呢?我有什么选择? 最佳答案 引用文档 https://docs.python.
我的应用程序使用以下简单的线程文件服务器: class FileServer(Thread): """Simple file server exposing the current direc
我最近一直在使用 Python 的 SimpleHTTPServer 在我的网络上托管文件。我想要一个自定义的 404 页面,所以我对此进行了研究并得到了一些答案,但我仍然想使用我拥有的这个脚本。那么
是否可以使用 simplehttpserver 添加基本身份验证? 我想使用 SimpleHTTPServer 限制对网站的访问 最佳答案 我最近写了 sauth为此原因。只是https://gith
我有:我创建了 index.html - 最简单的 html 页面并使用 python -m SimpleHttpServer 8000 启动我的简单 http 服务器。 我想要:制作index.ht
我正在使用 SimpleHTTPServer 提供目录服务并在本地运行 html 代码。在那里,我使用 getusermedia api 来拍摄一些照片。如果我使用js localstorage来存储
我有一个简单的脚本,用于查看我正在处理的网页。 import SimpleHTTPServer import SocketServer PORT = 8000 Handler = SimpleHTTP
我是一名优秀的程序员,十分优秀!