2014-12-26 47 views
3

這是我第一次嘗試讓HTTP服務器在我的計算機上工作,所以我遇到了一些技術難題。HTTP服務器不工作(Python)

我使用Python開發服務器,並且可以在本地主機上訪問它。但是當我嘗試通過IP地址連接時,它不起作用。我試圖連接我的手機,但沒有奏效。從我的理解,我可以連接到服務器,但其他人不能。我關閉了Windows防火牆,但仍然無法工作。這裏是我的代碼:

import SimpleHTTPServer 
import SocketServer 

handl = SimpleHTTPServer.SimpleHTTPRequestHandler 
s = SocketServer.TCPServer(("localhost",2138),handl) 
s.serve_forever() 

如果它有什麼區別,我有與WAMP服務器相同的問題。我關閉防火牆並運行它,並且無法從其他設備連接。而且,我在另一個不同的路由器上的另一個房子嘗試了它,但它仍然無法工作。但是,我可以連接到我自己的WAMP服務器。

我真的不明白髮生了什麼問題,如果有人能幫助我,我將不勝感激!

回答

2

這聽起來像你的路由器阻止你。您需要打開路由器配置頁面,通常是192.168.1.1或類似的東西,請檢查路由器手冊。然後,您需要將其設置爲將端口連接到服務器PC。完成此操作的步驟因路由器而異,請嘗試使用「端口轉發your_router_here」沒有引號,將your_router_here替換爲您正在使用的路由器。

+0

這是大多數路由器的默認設置嗎?它似乎發生在我正在使用的每一個人身上。 –

+0

路由器從未設置開箱即用的端口轉發。製造商無法知道您需要如何設置。你可以嘗試在這裏尋找你的路由器 - > http://portforward.com/english/routers/port_forwarding/routerindex.htm。您還需要閱讀其他人的答案,將其綁定到適當的界面,更改代碼中的'localhost'。 – baited

2

"localhost"更改爲您的網絡適配器的公共IP地址,然後重試。

首先,你必須通過它來確保數據線是清晰的。 然後嘗試訪問它。

+0

我試過了,它告訴我「錯誤:[Errno 10049]請求的地址在其上下文中無效」,這很奇怪,因爲我把它放在以下格式中:例如「127.0.0.1」。不過謝謝你! :) –

2

您可以將「localhost」更改爲「0.0.0.0」以偵聽您擁有的所有IP地址。這是向其他主機打開服務最簡單的方法。

1

添加公共IP爲我工作,但您可以嘗試添加「0.0.0.0」綁定到所有接口,如果您綁定的接口有任何問題。