2014-12-02 74 views
0

我有一个简单的脚本来查看我正在处理的网页。Python SimpleHTTPServer服务错误index.html?

import SimpleHTTPServer 
import SocketServer 
PORT = 8000 
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler 
httpd = SocketServer.TCPServer(("", PORT), Handler) 
print "serving at port", PORT 
httpd.serve_forever() 

我已经将这个脚本复制到了几个目录中,并且我正在处理不同的index.html页面。我杀死了服务器index_A(在它自己的目录Development/A中)。但是,当我尝试在Development/B中运行脚本(应该为index_B服务)时,它仍然在服务于index_A。

编辑:当我改变我使用的端口时,它提供了正确的索引。仍然不确定为什么旧的索引显示在旧的端口,即使我杀了这个过程。

+0

你真的在杀死原来的('A')服务器进程吗?你确定在运行'B'服务器之前切换过目录吗?你有没有确认 - 我的意思是用新鲜的眼睛来确保 - 内容是你认为的内容?对不起,生硬,但飞行员的错误是最有可能的解释。 – 2014-12-02 22:06:44

+0

我在这里使用filip的解决方案:http://stackoverflow.com/questions/3855127/find-and-kill-process-locking-port-3000-on-mac杀死进程,这是不够的?我很确定在不同的目录下运行它。 – Andrew 2014-12-02 22:09:20

+0

这里有很多解决方案,但我认为你的意思是'kill -9 \'lsof -i:8000 | egrep -v PID | awk'{print $ 2}'\'',这应该是可靠的。 – 2014-12-02 22:16:21

回答

0

我只是有同样的问题,这是非常令人困扰和固执。尝试所有的建议在这里也here与命令freeport,netstat,ps,lsofkill。几个小时后,发现它是更基本的东西。即使在几次重新启动之后,同样的index.html仍然在0.0.0.0:8000服务。但尝试过其他浏览器,它只发生在Chrome中!所以清除了缓存并且它消失了。