【问题标题】:What is the difference between USING A PROXY and TUNNELING THROUGH A PROXY使用代理和通过代理建立隧道有什么区别
【发布时间】:2019-06-20 06:24:05
【问题描述】:

使用代理和通过代理的隧道有什么区别

通过代理的隧道对请求有什么影响,准确地说是对 Curl 请求

    $ch = curl_init();        
    curl_setopt($ch, CURLOPT_URL, $url);            
    curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
    if($use_tunnel == true){
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);                
    curl_setopt($ch, CURLOPT_PROXY, '180.180.94.251');                
    curl_setopt($ch, CURLOPT_PROXYPORT, '8080'); 
    }          
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);           
    //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
    curl_setopt($ch, CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4);
    curl_setopt($ch, CURLOPT_MAXREDIRS,10);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_COOKIESESSION, true);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,180);
    curl_setopt($ch,CURLOPT_TIMEOUT,7200);
    $output = curl_exec($ch);

它是否有特殊的区别或使请求更加匿名。

请给我一个更技术性的解释,不管它多么技术性,请给我深入的解释

【问题讨论】:

  • @Dharman 请为您的上述评论提供更多技术细节,或者最好还是提供一篇文章的链接,以更详细地解释它。
  • 我的评论是由链接组成的。

标签: php c curl libcurl


【解决方案1】:

假设客户端想要发送一个普通的 GET。

“隧道通过”是指向代理发出CONNECT 请求,代理建立到目标主机的隧道,然后客户端通过该隧道向目标发送GET 请求。这通常是客户端通过代理执行 HTTPS 以维护对等隐私和安全性的方式。

当“仅使用”代理时,客户端将 GET 请求发送到代理,然后代理在后台联系远程主机并执行 GET 并返回响应。在此设置中,客户端可以利用代理中的缓存等功能,但代理也可以监视客户端和远程主机之间的流量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-09
    • 2017-04-15
    • 2017-10-08
    • 2012-08-02
    • 2011-11-15
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多