Must we include urllib just to decode a URL-encoded string, when using Requests?
Dotan Cohen
dotancohen at gmail.com
Thu Jun 13 09:41:42 EDT 2013
On Thu, Jun 13, 2013 at 4:34 PM, Robert Kern <robert.kern at gmail.com> wrote:
>> I'm pretty sure that Requests will use either urllib or urllib2,
>> depending on what is available on the server.
>
> No, it doesn't. It gets its quote() function from urllib always.
>
I see, thanks. Then that is what I will do as well!
>> I would like to use
>> whatever Requests is currently using, rather than import the other.
>> Can I tell which library Requests is currently using and use that?
>
>
> The only thing I can think that you are talking about is the difference
> between Python 2 and Python 3. In Python 2, it's urllib.quote() and in
> Python 3, it's urllib.parse.quote(), but that's a Python-version issue, not
> something to do with requests, per se. requests does have a compatibility
> layer, internally, that pastes over those issues, but I don't think that is
> intended to be a stable public API that you should rely on. You should
> handle that kind of switch yourself if you care about compatibility across
> both versions of Python.
>
> https://github.com/kennethreitz/requests/blob/master/requests/compat.py#L86
>
Great, thank you Robert. I see that Requests is calling both urllib
and urllib2. For some reason I thought that is rather wasteful and
should be avoided. I was probably wrong!
--
Dotan Cohen
http://gibberish.co.il
http://what-is-what.com
More information about the Python-list
mailing list