Bugs item #1459963, was opened at 2006-03-28 13:02 Message generated for change (Comment added) made by jjlee You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1459963&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Python Library Group: Python 2.4 Status: Closed Resolution: Fixed Priority: 5 Submitted By: Michael Vert (vimico) Assigned to: Nobody/Anonymous (nobody) Summary: urllib2 changes header names Initial Comment: It seems that urllib2 changes the writing of any additional supplied headers, i.e. "User-Agent" becomes "User-agent", "TEST-HEADER" becomes "Test-header". A few sites do not recognize "User-agent" and insist on "User-Agent". Fix: remove all occurences of capitalize() in urllib2. ---------------------------------------------------------------------- Comment By: John J Lee (jjlee) Date: 2006-08-19 02:54 Message: Logged In: YES user_id=261020 Patch 1459963 (applied in 50842) should be reverted and a better patch applied (see below), since this one needlessly breaks the old (albeit undocumented) interface of direct access to request.headers (which existed prior to the introduction of the .get_header() &c. methods). Patch 1542948 reverts 50842's changes to urllib2 (it does not revert the changes to urllib) and fixes the reported issue with a one-line fix in AbstractHTTPHandler (.title()-case the HTTP headers before sending them to httplib). That fix is also more localised to HTTP -- urllib2 knows about other protocols too. This patch also corrects a mis-wording in Misc/NEWS: the old case convention was not strictly incorrect (according to RFC 2616), but just did not follow the usual title-case convention. If the original patch was applied to the 2.4 maintenance branch, I guess patch 1542948 should be applied there too. (Just BTW: With hindsight, the methods should never have been introduced (which was done when the "unredirected" headers were introduced), but rather request.headers changed to be a class != dict: that was my fault, and it's too late to fix that...) ---------------------------------------------------------------------- Comment By: Michael Vert (vimico) Date: 2006-03-28 16:32 Message: Logged In: YES user_id=928834 I checked the database before submitting... I admit, I haven't gone back 2 years. :-) It seems to be the same bug. But it was still present in 2.4.2 (version used in Ubuntu Breezy). ---------------------------------------------------------------------- Comment By: Georg Brandl (gbrandl) Date: 2006-03-28 13:40 Message: Logged In: YES user_id=849994 Some normalizing is important to prevent duplicate headers. Changed capitalize() to title() to match the default casing (now user-agent becomes User-Agent) in rev. 43399. ---------------------------------------------------------------------- Comment By: Jens Diemer (pylucid) Date: 2006-03-28 13:16 Message: Logged In: YES user_id=1330780 There are old, closed Bug-Reports: https://sourceforge.net/tracker/?group_id=5470&atid=105470&func=detail&aid=994101 ?!?!? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1459963&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com