2014-03-03 497 views
3

我是python新手,我正在學習視頻教程。urlopen錯誤[Errno 11001] getaddrinfo失敗

因此,這裏的代碼片斷

from urllib.request import urlopen 
with urlopen('http://sixty-north/c/t.txt') as story: 
    story_words = [] 
    for line in story: 
     line_words = line.decode('utf-8').split() 
     for word in line_words: 
      story_words.append(word) 

我能夠訪問http://sixty-north.com/c/t.txt在我的瀏覽器。

但是當我輸入到這個命令提示符:python words.py我得到這個錯誤:

C:\New folder>python words.py 
Traceback (most recent call last): 
    File "C:\Python33\lib\urllib\request.py", line 1248, in do_open 
    h.request(req.get_method(), req.selector, req.data, headers) 
    File "C:\Python33\lib\http\client.py", line 1065, in request 
    self._send_request(method, url, body, headers) 
    File "C:\Python33\lib\http\client.py", line 1103, in _send_request 
    self.endheaders(body) 
    File "C:\Python33\lib\http\client.py", line 1061, in endheaders 
    self._send_output(message_body) 
    File "C:\Python33\lib\http\client.py", line 906, in _send_output 
    self.send(msg) 
    File "C:\Python33\lib\http\client.py", line 844, in send 
    self.connect() 
    File "C:\Python33\lib\http\client.py", line 822, in connect 
    self.timeout, self.source_address) 
    File "C:\Python33\lib\socket.py", line 417, in create_connection 
    for res in getaddrinfo(host, port, 0, SOCK_STREAM): 
socket.gaierror: [Errno 11001] getaddrinfo failed 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "words.py", line 2, in <module> 
    with urlopen('http://sixty-north/c/t.txt') as story: 
    File "C:\Python33\lib\urllib\request.py", line 156, in urlopen 
    return opener.open(url, data, timeout) 
    File "C:\Python33\lib\urllib\request.py", line 469, in open 
    response = self._open(req, data) 
    File "C:\Python33\lib\urllib\request.py", line 487, in _open 
    '_open', req) 
    File "C:\Python33\lib\urllib\request.py", line 447, in _call_chain 
    result = func(*args) 
    File "C:\Python33\lib\urllib\request.py", line 1274, in http_open 
    return self.do_open(http.client.HTTPConnection, req) 
    File "C:\Python33\lib\urllib\request.py", line 1251, in do_open 
    raise URLError(err) 
urllib.error.URLError: <urlopen error [Errno 11001] getaddrinfo failed> 
+0

如果您嘗試ping主機名'sixty-north',您是否期望得到答覆? –

+0

你可以參考這個鏈接也 http://stackoverflow.com/questions/4847649/opening-websites-using-urllib2-from-behind-corporate-firewall-11004-getaddrinf – RejeeshChandran

回答

4

有沒有這樣的主機:sixty-north。替換sixty-northsixty-north.com(注意:.com在最後)

+1

啊,新手的錯誤。謝謝 –

相關問題