Issue 22989: HTTPResponse.msg not as documented (original) (raw)
Issue22989
Created on 2014-12-03 18:45 by bastik, last changed 2022-04-11 14:58 by admin. This issue is now closed.
Messages (5) | ||
---|---|---|
msg232083 - (view) | Author: (bastik) | Date: 2014-12-03 18:45 |
HTTPResponse.msg is documented as a http.client.HTTPMessage object containing the headers of the response [1]. But in fact this is a string containing the status code: >>> import urllib.request >>> req=urllib.request.urlopen('http://heise.de') >>> content = req.read() >>> type(req.msg) <class 'str'> >>> req.msg 'OK' This value is apparently overriden in urllib/request.py: ./urllib/request.py:1246: # This line replaces the .msg attribute of the HTTPResponse ./urllib/request.py-1247- # with .headers, because urllib clients expect the response to ./urllib/request.py:1248: # have the reason in .msg. It would be good to mark this ./urllib/request.py-1249- # attribute is deprecated and get then to use info() or ./urllib/request.py-1250- # .headers. ./urllib/request.py:1251: r.msg = r.reason Anyhow, it should be documented, that is not safe to retrieve the headers with HTTPResponse.msg and maybe add HTTPResponse.headers to the documentation. [1] https://docs.python.org/3/library/http.client.html | ||
msg232224 - (view) | Author: Martin Panter (martin.panter) * ![]() |
Date: 2014-12-05 22:51 |
See Issue 21228 for a patch which documents the “.msg” hack, and that the info() method is available for HTTP responses. I think documenting the “.headers” attribute would be a bad idea, because it is introducing yet another way to do what the almost-documented info() method already does. | ||
msg234943 - (view) | Author: Martin Panter (martin.panter) * ![]() |
Date: 2015-01-29 03:59 |
Documenting the “headers” attribute is also discussed in Issue 12707 | ||
msg255406 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2015-11-26 11:07 |
New changeset fa3c9faabfb0 by Martin Panter in branch '3.4': Issues #22989, #21228: Document HTTP response object for urlopen() https://hg.python.org/cpython/rev/fa3c9faabfb0 New changeset b55c006b79bc by Martin Panter in branch '3.5': Issue #22989, #21228: Merge urlopen() doc from 3.4 into 3.5 https://hg.python.org/cpython/rev/b55c006b79bc New changeset c6930661599b by Martin Panter in branch 'default': Issue #22989, #21228: Merge urlopen() doc from 3.5 https://hg.python.org/cpython/rev/c6930661599b | ||
msg255408 - (view) | Author: Martin Panter (martin.panter) * ![]() |
Date: 2015-11-26 11:19 |
The documentation now mentions the “msg” quirk and the info() method. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:58:10 | admin | set | github: 67178 |
2015-11-26 11:19:03 | martin.panter | set | status: open -> closedversions: + Python 3.5, Python 3.6messages: + resolution: fixedstage: resolved |
2015-11-26 11:07:15 | python-dev | set | nosy: + python-devmessages: + |
2015-01-29 03:59:05 | martin.panter | set | messages: + |
2014-12-05 22:51:03 | martin.panter | set | nosy: + martin.pantermessages: + |
2014-12-03 18:56:51 | r.david.murray | set | nosy: + r.david.murray |
2014-12-03 18:45:17 | bastik | create |