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

时间:2019-06-20 06:24:05

标签: php c curl libcurl

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

通过代理进行隧道传输会对请求产生什么影响,确切地说对于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);

这有什么特殊的区别还是使请求变得更匿名?

请我需要更多的技术说明,无论它的技术水平如何,请给我深入的解释

1 个答案:

答案 0 :(得分:1)

比方说客户端要发送普通的GET。

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

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