我有一個簡單的網站,我正在測試。它在本地主機上運行,我可以在我的Web瀏覽器中訪問它。索引頁面就是「運行」一詞。 urllib.urlopen
將成功讀取該頁面,但urllib2.urlopen
不會。下面是這證明了問題(這是實際的腳本,而不是不同的測試腳本的簡化)的腳本:urllib.urlopen工程,但urllib2.urlopen不
import urllib, urllib2
print urllib.urlopen("http://127.0.0.1").read() # prints "running"
print urllib2.urlopen("http://127.0.0.1").read() # throws an exception
這裏的堆棧跟蹤:
Traceback (most recent call last):
File "urltest.py", line 5, in <module>
print urllib2.urlopen("http://127.0.0.1").read()
File "C:\Python25\lib\urllib2.py", line 121, in urlopen
return _opener.open(url, data)
File "C:\Python25\lib\urllib2.py", line 380, in open
response = meth(req, response)
File "C:\Python25\lib\urllib2.py", line 491, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python25\lib\urllib2.py", line 412, in error
result = self._call_chain(*args)
File "C:\Python25\lib\urllib2.py", line 353, in _call_chain
result = func(*args)
File "C:\Python25\lib\urllib2.py", line 575, in http_error_302
return self.parent.open(new)
File "C:\Python25\lib\urllib2.py", line 380, in open
response = meth(req, response)
File "C:\Python25\lib\urllib2.py", line 491, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python25\lib\urllib2.py", line 418, in error
return self._call_chain(*args)
File "C:\Python25\lib\urllib2.py", line 353, in _call_chain
result = func(*args)
File "C:\Python25\lib\urllib2.py", line 499, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 504: Gateway Timeout
任何想法?我可能最終需要urllib2
的一些更高級功能,所以我不想僅僅使用urllib
,再加上我想了解這個問題。
這解決了這個問題,但我不知道如何或爲什麼它想使用代理,因爲我的腳本只有三行,並且沒有任何環境變量可以指示任何代理。儘管如此,解決這個問題很好,所以感謝您的幫助。 – 2008-10-14 18:09:31