2012-01-26 2 views
1

'GET'HTTP 요청을 보내 XML을 검색하는 중에 오류가 발생했습니다.python의 HTTPConnection 요청 socket.gaierror

..... 
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

검색하려고 : 여기
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() 

은 내가 가진 오류가? 당신은 실수로 HTTPConnectiondomain 인수 프로토콜 접두사를 포함

답변

8

HttpConnection에 생성자에서 스키마가 없다 (http://) :

httpCon = HTTPConnection("www.podnapisi.net",80) 

그것은 이미 지금 작동 ... 그것이 HttpConnection에 객체 :

+0

감사합니다, 그것은이 HTTP 걸 알고 있지만, 어떻게 내가 왜이 얻을 "print r1.read()"를 인쇄 할 때 XML 대신 HTML 데이터가 필요합니까? 어떻게하면 XML을 얻을 수 있습니까? – TeFa

+0

좋아, 이제 알았어. 다음과 같이 요청 된 링크에 '매개 변수'매개 변수를 추가해야합니다. httpCon.request ('GET', "/ ko/ppodnapisi/search?"+ params) – TeFa

2

사전에

감사합니다 .... 원하는 :

httpCon = HTTPConnection("www.podnapisi.net", 80) 

일반적으로이 오류는 도메인 이름을 IP 주소로 확인하는 데 문제가 있음을 나타냅니다. 그냥 간헐적 일 수 있습니다. 문제가 지속되면 시스템에서 DNS 구성을 확인하십시오. 예 : set it to use Google's public DNS server. Microsoft Windows에서 DNS 서버를 구성하는 방법에 대한 자세한 내용은 Microsoft's knowledge database을 참조하십시오.