New submission from Bernhard Rosenkraenzer <[email protected]>:
Sending e.g. a JPEG file with a httplib POST request (e.g. through mechanize)
can result in an error like this:
File "/usr/lib64/python2.7/httplib.py", line 947, in request
self._send_request(method, url, body, headers)
File "/usr/lib64/python2.7/httplib.py", line 988, in _send_request
self.endheaders(body)
File "/usr/lib64/python2.7/httplib.py", line 941, in endheaders
self._send_output(message_body)
File "/usr/lib64/python2.7/httplib.py", line 802, in _send_output
msg += message_body
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 2566:
invalid start byte
The code triggering this is the attempt to merge the msg and message_body into
a single request in httplib.py lines 791+
The patch I'm attaching treats an invalid string of unknown encoding (e.g.
binary data wrapped as string) like something that isn't a string.
Works for me with the patch.
----------
components: Library (Lib)
files: python-2.7.1-fix-httplib-UnicodeDecodeError.patch
keywords: patch
messages: 134211
nosy: bero
priority: normal
severity: normal
status: open
title: Sending binary data with a POST request in httplib can cause Unicode
exceptions
type: behavior
versions: Python 2.7
Added file:
http://bugs.python.org/file21747/python-2.7.1-fix-httplib-UnicodeDecodeError.patch
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue11898>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com