This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author frispete
Recipients frispete
Date 2016-04-19.08:18:29
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1461053909.86.0.0123928931795.issue26804@psf.upfronthosting.co.za>
In-reply-to
Content
During programming a function, that replaces a wget call, I noticed, that something is wrong with urllibs proxy handling. 

I usually use the scheme "http_proxy= wget -N -nd URL" when I need to bypass the proxy. Hence I was pretty confused, that this doesn't work with python(3). Creating an empty ProxyHandler isn't the real Mc Coy either. Diving into the issue, I found getproxies_environment, but couldn't make much sense out of its behavior, up until I noticed, that
my OS (openSUSE ) creates both variants of environment variables behind the scenes: uppercase and lowercase. 

Consequence: python3 needs the scheme "http_proxy= HTTP_PROXY= python3 ..."

Since I, like everyone else, prefer gentle tones over the loud, and want to spare this surprise for others in the future, I propose the attached patch.

Process environment variables in two passes, first uppercase, then lowercase, allowing an empty lowercase value to overrule any uppercase value.

Please consider applying this.
History
Date User Action Args
2016-04-19 08:18:29frispetesetrecipients: + frispete
2016-04-19 08:18:29frispetesetmessageid: <1461053909.86.0.0123928931795.issue26804@psf.upfronthosting.co.za>
2016-04-19 08:18:29frispetelinkissue26804 messages
2016-04-19 08:18:29frispetecreate