2014-01-08 373 views
0

我想使用urllib2打開一個頁面,但我不斷收到連接超時錯誤。Python urllib2錯誤

url = "http://" + "100.12.13.11/api.php" 
f = urllib2.urlopen(url) 

我有兩個靜態IP地址:100.12.13.12,LAN IP - 10.10.209.2,域 - test.com;和100.12.13.11,LAN IP - 10.10.209.1,域 - test2.com

當我訪問

http://100.12.13.11/api.php 

從服務器在使用urllib2100.12.13.12,它說,連接超時錯誤。

另外,如果我使用域,例如

http://test.com/api.php 

同樣的事情發生,但它工作時,我使用LAN IP

http://10.10.209.1/api.php 

(無論是靜態IP地址都在相同網絡)

每當我從網絡外部訪問時,都不會發生此問題。但是,在PHP中,它適用於域名,靜態IP和局域網IP。

有誰知道爲什麼會發生這種奇怪的事情?

+0

你能否更好地描述你的問題?我不明白你如何測試「服務器」在指向python問題之前接受來自「客戶端」的連接。此外,你的例子不能正常工作,它會遺漏引號和(可能是)「http://」前綴,因此urllib2知道使用哪個端口和協議。 – Cilyan

+0

我已經使用http://但它不響應,但我訪問相同的網址與不同的編程語言,例如PHP它的工作原理 – senthilnathang

回答

1

通常,LAN不允許本地訪問本地託管的全局IP或域。解決方法是將全局主機名映射到本地DNS中的本地IP。