使用代理和通过代理隧道之间有什么区别
通过代理进行隧道传输会对请求产生什么影响,确切地说对于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);
这有什么特殊的区别还是使请求变得更匿名?
请我需要更多的技术说明,无论它的技术水平如何,请给我深入的解释
答案 0 :(得分:1)
比方说客户端要发送普通的GET。
“通过隧道”是指向代理发出CONNECT
请求,该请求将建立到目标主机的隧道,然后客户端通过该隧道将GET请求发送到目标。客户端通常通过代理执行HTTPS来维护对等的隐私和安全。
当“仅使用”代理时,客户端将GET请求发送到代理,然后代理在后台联系远程主机并执行GET并将响应返回。在此设置中,客户端可以利用代理中的缓存等优势,但是代理也将能够监视客户端与远程主机之间的流量。