在 cURL 文档中,有一个名为的选项CURLOPT_HTTPPROXYTUNNEL
被定义为在启用时通过代理创建隧道。
但是,我不知道隧道是什么以及它做什么。如果我不使用这样的隧道会有什么不同?
curl_setopt($session, CURLOPT_HTTPPROXYTUNNEL, 1)
更新:
我得到的是隧道指的是一个HTTP CONNECT METHOD
,这就是我理解它的作用:
基于 HTTP 的隧道方法使用 HTTP CONNECT 方法/命令。客户端向 HTTP 代理发出 HTTP CONNECT 命令。然后代理与特定的服务器:端口建立 TCP 连接,并在该服务器:端口和客户端连接之间中继数据。因为这会造成安全漏洞,支持 CONNECT 的 HTTP 代理通常会限制对 CONNECT 方法的访问。代理只允许访问特定授权服务器的白名单。
那么,问题是,使用和不使用 CONNECT 方法连接到代理有什么区别?