urllib2 disable proxy

Rob Wolfe rw at smsnet.pl
Thu Jan 3 14:13:18 EST 2008


Dimitrios Apostolou <jimis at gmx.net> writes:

> On Wed, 2 Jan 2008, Rob Wolfe wrote:
>
>> Dimitrios Apostolou <jimis at gmx.net> writes:
>>
>>> Hello list,
>>>
>>> I've been looking for a way to explicitly disable the use of proxies with
>>> urllib2, no matter what the environment dictates. Unfortunately I can't find
>>> a way in the documentation, and reading the source leads me to believe that
>>> something like the following does the job:
>>>
>>> req.set_proxy(None,None)
>>>
>>> Where req is a urllib2.Request instance. So is there an official way of doing
>>> this? Perhaps it should be added in the documentation?
>>
>> I believe that the recommended way is to use `urllib2.ProxyHandler`.
>> Take a look at:
>> http://www.voidspace.org.uk/python/articles/urllib2.shtml
>
> Thanks for the pointer, I will use that way. However it seems rather
> non-elegant way to do something so simple and I was hoping not to mess
> with ProxyHandler, especially since I want *no* proxy... IMHO
> something like the following would be more elegant:
>
> req.set_proxy('','http')
>
> or
>
> req.set_proxy(None,'http')
>
>
> However these ways *don't* work. You think I should file a feature
> request somewhere or send this to the python-dev list?

Actually, I like this idea of handlers and openers 
and find it simple and _elegant_, so I can't second that request.
Besides disabling proxies despite environmental settings
is a special case, so imho using `instal_opener` is justified.

Regards,
Rob



More information about the Python-list mailing list