먼저 내 문제는 this one과 매우 비슷합니다. urllib.urlopen()의 타임 아웃에서 처리 할 수있는 예외를 생성하고 싶습니다.파이썬 3에서 urllib의 타임 아웃을 처리하는 방법은 무엇입니까?
URLError에 해당하지 않습니까?
try:
response = urllib.request.urlopen(url, timeout=10).read().decode('utf-8')
except (HTTPError, URLError) as error:
logging.error(
'Data of %s not retrieved because %s\nURL: %s', name, error, url)
else:
logging.info('Access successful.')
오류 메시지 :.
RESP = urllib.request.urlopen (REQ가 제한 = 10) .read()가 ("UTF-8")
파일 "디코딩/USR /lib/python3.2/urllib/request.py ", 줄 138, urlopen에서
return opener.open (url, data, timeout)
파일"/usr/lib/python3.2/urllib/request.py ", 줄 369, 열어
응답 = self._open (req, data)
파일" /usr/lib/python3.2/urllib/request.py "387 번 줄, _open
'_open', req)
파일"/usr/lib/python3.2/urllib/request.py ", 줄 _call_chain
결과의 FUNC = 347 (* 인수) http_open
복귀 self.do_open에
파일 "/usr/lib/python3.2/urllib/request.py"선 1156 (http.client.HTTPConnection do_open
R = h.getresponse에서, REQ)
파일 "/usr/lib/python3.2/urllib/request.py"라인 1,141()
파일 "/usr/lib/python3.2/ http/client.py ", 줄 1046, getresponse
sponse.begin()
파일 "/usr/lib/python3.2/http/client.py"라인 (346)에
버전, 상태 이유 self._read_status =()
파일 "/ USR을 시작/_read_status에서
줄 = str (self.fp.readline (_MAXLINE + 1), "iso-8859-1")
파일 "/ usr/lib/python3.2/http/client.py" readinto
반환 self._sock.recv_into에 lib 디렉토리/python3.2/socket.py ", 라인 (276), (b)는
socket.timeout : 주요 차 있었다
시간 초과 Python 3에서 urllib
및 urllib2
모듈을 urllib
으로 재구성했을 때 이것을 일으키는 변화가 있었을 가능성이 있습니까?
예외 유형을 쉽게 발견하는 방법은'예외로 e : print (type (e))'를 제외하면됩니다. . 예외를 재현 할 수 있다고 가정합니다. – polvoazul