Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><strong>Without <code>CURLOPT_HTTPPROXYTUNNEL</code></strong></p> <p>Without <code>CURLOPT_HTTPPROXYTUNNEL</code> : You just use the proxy address/port as a destination of your HTTP request. The proxy will read the HTTP headers of your query, forward your request to the destination (with your HTTP headers) and then write the response to you.</p> <p><strong>Example steps :</strong></p> <ol> <li><code>HTTP GET /index.html</code> sent to <code>1.1.1.1 (proxy)</code></li> <li><code>1.1.1.1</code> receive request and parse header for getting the final destination of your HTTP request.</li> <li><code>1.1.1.1</code> forward your query and headers to <code>www.site.com (destination in request headers)</code>.</li> <li><code>1.1.1.1</code> write back to you the response receive from <code>www.site.com</code></li> </ol> <p><strong>With <code>CURLOPT_HTTPPROXYTUNNEL</code></strong></p> <p>With <code>CURLOPT_HTTPPROXYTUNNEL</code> : You ask the proxy to open a direct binary connection (like HTTPS, called a <code>TCP Tunnel</code>) directly to your destination by doing a <code>CONNECT</code> HTTP request. When the tunnel is ok, the proxy write you back a <code>HTTP/1.1 200 Connection established</code>. When it received your browser start to query the destination directly : The proxy does not parse HTTP headers and theoretically does not read tunnel datas, it just forward it, thats why it is called a tunnel !</p> <p><strong>Example steps :</strong></p> <ol> <li><code>HTTP CONNECT</code> sent to <code>1.1.1.1</code></li> <li><code>1.1.1.1</code> receive <code>HTTP CONNECT</code> and get the ip/port of your final destination (<code>header</code> field of <code>HTTP CONNECT</code>).</li> <li><code>1.1.1.1</code> open a <code>TCP Socket</code> by doing a <code>TCP handshake</code> to your destination <code>2.22.63.73:80 (ip/port of www.site.com)</code>. </li> <li><code>1.1.1.1</code> Make a tunnel by piping your <code>TCP Socket</code> to the <code>TCP Socket</code> opened to <code>2.22.63.73:80</code> and then write you back <code>HTTP/1.1 200 Connection established</code> witch means that your client can now make your query throw the <code>TCP Tunnel</code> (TCP datas received will be transmited directly to server and vice versa).</li> </ol>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload