我希望从以下网址访问文本文件:
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
你能帮我解决这个问题吗?
感谢。
答案 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))
会获取本地主机的地址信息,而不是您要联系的服务器;所以这句话似乎没必要。