2014-09-21 255 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