본문 바로가기
파이썬

파이썬 (python) [Errno 11001] getaddrinfo 실패

by º기록 2020. 12. 17.
반응형

누군가이 오류를 잡을 수있는 방법에 대해 나를 도울 수 있습니까?

import pygeoip  
gi = pygeoip.GeoIP('GeoIP.dat')  
print gi.country_code_by_name('specificdownload.com')  

Traceback (most recent call last):  
  File "<module1>", line 14, in <module>  
  File "build\bdist.win-amd64\egg\pygeoip\__init__.py", line 447, in country_code_by_name  
    addr = self._gethostbyname(hostname)  
  File "build\bdist.win-amd64\egg\pygeoip\__init__.py", line 392, in _gethostbyname  
    return socket.gethostbyname(hostname)  
gaierror: [Errno 11001] getaddrinfo failed 

 

해결 방법

 

자, 파이썬에게 어떤 유형의 예외인지 물어 봅시다 :

#!/usr/bin/env python2.7

import pygeoip
gi = pygeoip.GeoIP('GeoIP.dat')
try:
    print gi.country_code_by_name('specificdownload.com')
except Exception, e:
    print type(e)
    print e

인쇄물:

$ ./foo.py
<class 'socket.gaierror'>
[Errno 8] nodename nor servname provided, or not known

따라서 다음과 같이 socket.gaierror 를 잡아야합니다.

#!/usr/bin/env python2.7

import pygeoip
import socket
gi = pygeoip.GeoIP('GeoIP.dat')
try:
    print gi.country_code_by_name('specificdownload.com')
except socket.gaierror:
    print 'ignoring failed address lookup'


이 예외는 getaddrinfo () getnameinfo () 의 주소 관련 오류에 대해 발생합니다.

따라서 GAI 오류 = 주소 정보 가져 오기 오류입니다.

 

참조 페이지 https://stackoverflow.com/questions/22851609

 

 

반응형

댓글