Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Re: Missing something obvious with python-requests

Reply
Thread Tools

Re: Missing something obvious with python-requests

 
 
Chris Angelico
Guest
Posts: n/a
 
      01-04-2013
On Fri, Jan 4, 2013 at 5:53 AM, Ray Cote
<(E-Mail Removed)> 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).

ChrisA
 
Reply With Quote
 
 
 
 
Hans Mulder
Guest
Posts: n/a
 
      01-04-2013
On 4/01/13 03:56:47, Chris Angelico wrote:
> On Fri, Jan 4, 2013 at 5:53 AM, Ray Cote
> <(E-Mail Removed)> 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
 
Reply With Quote
 
 
 
 
Chris Angelico
Guest
Posts: n/a
 
      01-04-2013
On Sat, Jan 5, 2013 at 2:00 AM, Hans Mulder <(E-Mail Removed)> wrote:
> 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.


Are you sure? This seems backward. As I understand it, a GET request
to a proxy triggers a GET request to the origin server, and a CONNECT
request to a proxy triggers a TCP socket connection to the origin host
(which may not even be an HTTP/HTTPS server). This has nothing to do
with the protocol used between the client and the proxy.

ChrisA
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Missing something obvious with python-requests Ray Cote Python 0 01-04-2013 02:12 AM
Re: Missing something obvious with python-requests Barry Scott Python 0 01-03-2013 10:48 PM
Missing something obvious with python-requests Ray Cote Python 0 01-03-2013 06:53 PM
timeit module: am I missing something obvious? Steven D'Aprano Python 2 02-20-2006 03:23 PM
Missing Something Obvious Here! Wayne Wengert ASP General 0 08-30-2003 03:56 PM



Advertisments