Overriding urllib2.HTTPError or urllib.error.HTTPError and reading response HTML anyway

前端 未结 3 972
逝去的感伤
逝去的感伤 2020-12-07 16:20

I receive a \'HTTP Error 500: Internal Server Error\' response, but I still want to read the data inside the error HTML.

With Python 2.6, I normally fetch a page usi

3条回答
  •  甜味超标
    2020-12-07 17:00

    The HTTPError is a file-like object. You can catch it and then read its contents.

    try:
        resp = urllib2.urlopen(url)
        contents = resp.read()
    except urllib2.HTTPError, error:
        contents = error.read()
    

提交回复
热议问题