Missing something obvious with python-requests

Hans Mulder hansmu at xs4all.nl
Fri Jan 4 10:00:01 EST 2013


On 4/01/13 03:56:47, Chris Angelico wrote:
> On Fri, Jan 4, 2013 at 5:53 AM, Ray Cote
> <rgacote at appropriatesolutions.com> wrote:
>> proxies = {
>>     'https': '192.168.24.25:8443',
>>     'http': '192.168.24.25:8443', }
>>
>> a = requests.get('http://google.com/', proxies=proxies)
>>
>>
>> When I look at the proxy log, I see a GET being performed -- when it should be a CONNECT.
>> Does not matter if I try to get http or https google.com.

> Not sure if it's related to your problem or not, but my understanding
> of a non-SSL request through a proxy is that it'll be a GET request
> (eg "GET http://google.com/ HTTP/1.0"). So the problem is only that
> it's still doing GET requests when it's an https query (which is where
> CONNECT is needed).

It all depends on the proxy URL.

It the proxy URL is http://192.168.24.25/, then the client should send
GET requests to the proxy in both cases, and the proxy should send GET
or CONNECT to the origin server, depending on whether origin URL uses
SSL.

If the proxy URL is https://192.168.24.25/, then the client should send
CONNECT requests to the proxy, and the proxy should send GET or CONNECT
as appropriate.

Python-requests appears to implement only the first case.


Hope this helps,

-- HansM



More information about the Python-list mailing list