2014-09-21 251 views
2

我想在本地主机上启动HTTPS服务器,但出现错误。我以管理员身份打开了cmd。启动HTTP/HTTPS服务器,python -m SimpleHTTPServer

C:\Windows\system32>python -m SimpleHTTPServer 
Traceback (most recent call last): 
    File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main 
    "__main__", fname, loader, pkg_name) 
    File "C:\Python27\lib\runpy.py", line 72, in _run_code 
    exec code in run_globals 
    File "C:\Python27\lib\SimpleHTTPServer.py", line 224, in <module> 
    test() 
    File "C:\Python27\lib\SimpleHTTPServer.py", line 220, in test 
    BaseHTTPServer.test(HandlerClass, ServerClass) 
    File "C:\Python27\lib\BaseHTTPServer.py", line 595, in test 
    httpd = ServerClass(server_address, HandlerClass) 
    File "C:\Python27\lib\SocketServer.py", line 419, in __init__ 
    self.server_bind() 
    File "C:\Python27\lib\BaseHTTPServer.py", line 108, in server_bind 
    SocketServer.TCPServer.server_bind(self) 
    File "C:\Python27\lib\SocketServer.py", line 430, in server_bind 
    self.socket.bind(self.server_address) 
    File "C:\Python27\lib\socket.py", line 224, in meth 
    return getattr(self._sock,name)(*args) 
socket.error: [Errno 10013] An attempt was made to access a socket in a way forb 
idden by its access permissions 
+0

你看过这个吗? Google上有很多结果。我不会因为重复而关闭,因为我不知道做出判断是否足够,但我希望您至少在提出问题时指出它们不适用。 – Veedrac 2014-09-21 05:05:11

+0

是的,看到答案讨论尝试telnet,我得到以下错误,C:\ WINDOWS \ SYSTEM32> telnet 127.0.0.1 80 'telnet'不被识别为内部或外部命令, 可操作的程序或批处理文件。也从正常的管理员帐户更改为同一个erorr,同时阅读,如果有些工作。 – garg10may 2014-09-21 05:08:53

回答

2

我无法启动,因为有些服务已经在8000上运行, 我是能够成功地启动另一个端口的服务2000

C:\>python -m SimpleHTTPServer 2000 
Serving HTTP on 0.0.0.0 port 2000 .. 

人们可以通过获取端口8000 PID /状态netstat -ano

C:\>netstat -ano 

Active Connections 

    Proto Local Address   Foreign Address  State   PID 
    TCP 0.0.0.0:912   0.0.0.0:0    LISTENING  2544 
    TCP 0.0.0.0:8000   0.0.0.0:0    LISTENING  4 
    TCP 0.0.0.0:19781   0.0.0.0:0    LISTENING  3100 

显示作为系统进程的PID 4。

4

您的Windows防火墙可能会阻止蟒蛇听。 另外,尝试在命令行中添加高于1024的不同端口号并查看是否有帮助。

+0

如果未指定,SimpleHTTPServer使用端口8000. – falsetru 2014-09-21 05:16:22

+0

确定它是从2000端口开始的,但是如何确保某个进程在8000上运行,以及如何停止运行,在不同的端口上运行。 – garg10may 2014-09-21 05:24:16

+0

@ApriOri显示PID为4的系统进程,防火墙绝对不会阻塞,因为当我在2000端口启动时,它已经启动并且允许它。 – garg10may 2014-09-21 05:55:15