아미(아름다운미소)

urllib2로 에러 처리하는 법 본문

랭귀지/PYTHON

urllib2로 에러 처리하는 법

유키공 2017. 12. 19. 17:00
urllib/urllib2를 사용하고 있고 404에러와 기타 HTTP 에러를 점검하고 싶다면?
다음은 그 트릭이다:
try:
    urlfile = urllib2.urlopen('http://sebsauvage.net/nonexistingpage.html')
except urllib2.HTTPError, exc:
    if exc.code == 404:
        print "Not found !"
    else:           
        print "HTTP request failed with error %d (%s)" % (exc.code, exc.msg)
except urllib2.URLError, exc:
    print "Failed because:", exc.reason

이런 식으로 404에러와 기타 HTTP 에러 코드를 점검할 수 있다. urllib2는 2xx 그리고 3xx 코드에서는 예외를 일으키지 않는다. urllib2.HTTPError 예외는 4xx 그리고 5xx 코드에서 일어난다 (이는 예상된 행위이다). (또 주목하자. HTTP 30x 리다이렉션은 자동으로 그리고 투명하게 urllib2가 처리한다.)
Comments