Python

urllib.error — urllib.request에 의해 발생하는 예외 클래스

소스 코드: Lib/urllib/error.py


urllib.error 모듈은 urllib.request 에서 발생하는 예외를 위한 예외 클래스들을 정의합니다. 기본 예외 클래스는 URLError 입니다.

urllib.error 에 의해 다음과 같은 예외가 적절하게 발생합니다:

exception urllib.error.URLError

처리기가 문제에 봉착하는 경우, 처리기는 해당 예외(또는 파생된 예외)를 발생시킵니다. 이 예외는 OSError의 서브 클래스입니다.

reason

이 에러가 발생한 원인입니다. 메시지 문자열이거나 다른 예외 인스턴스가 될 수 있습니다.

버전 3.3에서 변경: 이전에는 URLErrorIOError의 하위 형이었으나, 이제는 OSError의 별칭이 되었습니다.

exception urllib.error.HTTPError(url, code, msg, hdrs, fp)

HTTPErrorURLError의 서브 클래스로 예외 클래스이긴 하지만, 예외가 아닌 파일류 반환 값(urlopen()의 반환 값과 동일한 값)으로도 작동할 수 있습니다. 이 방법은 인증 요청 같은 독특한(exotic) HTTP 에러를 처리할 때 유용합니다.

url

요청 URL을 포함합니다. filename 속성에 대한 별칭입니다.

code

RFC 2616에 정의된 HTTP 상태 코드입니다. 이 숫자 값은 http.server.BaseHTTPRequestHandler.responses에서 찾을 수 있는 상태 코드 딕셔너리에 있는 값에 해당합니다.

reason

일반적으로 이 에러의 원인을 설명하는 문자열입니다. msg 어트리뷰트의 별칭.

headers

HTTPError를 발생시킨 HTTP 요청의 응답 헤더입니다. hdrs 어트리뷰트의 별칭.

Added in version 3.4.

fp

HTTP 에러 본문을 읽을 수 있는 파일 유사 객체입니다.

exception urllib.error.ContentTooShortError(msg, content)

이 예외는 다운로드받은 데이터양이 Content-Length 헤더 값을 통해 예상한 양보다 적은 것을 urlretrieve()함수가 감지했을 때 발생합니다.

content

다운로드받은 (그리고 아마도 잘린) 데이터.