我在尝试通过发送'GET'HTTP请求来检索XML时遇到错误。
from httplib import HTTPConnection
import urllib
params = urllib.urlencode({'sK': 'test', 'sXML': 1})
httpCon = HTTPConnection("http://www.podnapisi.net",80)
httpCon.request('GET', '/en/ppodnapisi/search',params)
r1 = httpCon.getresponse()
这是我得到的错误:
.....
File "C:\Python27\lib\socket.py", line 553, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno 11004] getaddrinfo failed
我要检索的XML HERE
如何解决此错误?
提前致谢...
答案 0 :(得分:8)
HTTPConnection构造函数中没有方案(http://
):
httpCon = HTTPConnection("www.podnapisi.net",80)
它已经知道它是HTTP,它是一个HTTPConnection对象:)
答案 1 :(得分:2)
您不小心将domain
参数中的协议前缀包含在HTTPConnection中。你想要:
httpCon = HTTPConnection("www.podnapisi.net", 80)
通常,此错误表示将域名解析为IP地址时出现问题。在它可能只是间歇性的。如果问题仍然存在,请检查系统上的DNS配置。
例如,您可以set it to use Google's public DNS server。有关如何在Microsoft Windows上配置DNS服务器的详细信息,请参阅Microsoft's knowledge database。