Senthil Kumaran <orsent...@gmail.com> added the comment: On Sat, Feb 5, 2011 at 12:33 AM, Georg Brandl <rep...@bugs.python.org> wrote: > > Then let us do that. > > Senthil, what about urlencode of bytes values returning a str? >
Sorry, the late response. I needed some time to look at this one and I could only do it today. We have been having str return value from urlencode, due to quote, quote_plus methods which can take bytes/str but return str. (urlencode is nothing but quote_plus which acts on two-element sequences like name,value pairs. The resultant str is certainly useful when we want to construct a URL query string. But, when we want to do a POST via urlopen, we need bytes data. So, I think best to advice through the documentation that, urlencoded value must be converted to bytes if it is to be used for POST'ing using urlopen. (Well, I also think that urllencode could be modified to the effect that if the key,value pairs are bytes, return the bytes output. Technically, this would involve overriding some behavior of quote/quote_plus and the return value will suitable only for POST data and not for url query construction. I would rather choose to discuss this before settling on the behavior and I remember that quote's behavior did take a significant amount discussion). So, for this issue. A patch would a prevent str data from being posted with ValueError explaining the reason that bytes and required and a documentation update in the urlencode method which would inform the users that the output be converted to bytes before it is POSTed, Shall we go ahead with this, Georg? I shall post a patch immediately. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue11082> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com