gaierror:[Errno 11004] getaddrinfo失败了

时间:2016-05-26 19:42:22

标签: python sockets

我希望从以下网址访问文本文件:

http://www.pythonlearn.com/code/intro-short.txt

我的代码是

import socket

socket.getaddrinfo('127.0.0.1', 8080)
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect(('http://www.pythonlearn.com', 80))
mysock.send('GET http://www.pythonlearn.com/code/intro-short.txt HTTP/1.0\n\n')

我一直收到错误:gaierror: [Errno 11004] getaddrinfo failed

你能帮我解决这个问题吗?

感谢。

1 个答案:

答案 0 :(得分:3)

int ndx = 0; Info info = null; foreach (var items in getInfo["results"]) { if (ndx == 0) { info = new Info(); info.theimage = items ["Photo"].ToString(); ndx++; } else if (ndx == 1) { info.theimage2 = items ["Photo"].ToString(); ndx++; } else if (ndx == 2) { info.theimage3 = items ["Photo"].ToString(); imagesList.Add(info); info = null; ndx = 0; } } if (info != null) { imagesList.Add(info); } 中,元组中的第一个元素应该只是主机名(或地址),而不是' http://'。

所以mysock.connect(('http://www.pythonlearn.com', 80))应该有用。

顺便提一下,mysock.connect(('www.pythonlearn.com', 80))会获取本地主机的地址信息,而不是您要联系的服务器;所以这句话似乎没必要。