Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I get the http body when python3 throws a HTTPError

How can I get the http body when python3.2 throws a HTTPError.

Traceback (most recent call last):
    File "C:\Users\RileyRen\Desktop\query_token.py", line 17, in <module>
    File "D:\Environment\Python32\lib\urllib\request.py", line 495, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
    urllib.error.HTTPError: HTTP Error 401: Unauthorized

python throws an HTTPError,But I can't get the http body.

like image 968
Riley Ren Avatar asked Jun 21 '13 03:06

Riley Ren


2 Answers

Catch it and use it as if it were a response:

try:
    conn = urllib.request.urlopen(...)
    # ...
except urllib.error.HTTPError as error:
    data = error.read()
    # data contains the content
like image 124
icktoofay Avatar answered Oct 17 '22 05:10

icktoofay


just like the normal process.

err.read()
like image 37
Mr. C Avatar answered Oct 17 '22 06:10

Mr. C