1

我想创建一个可以验证 throw Squid 代理的程序。我在 PHP 语言中使用套接字

4

2 回答 2

0

我假设您的意思是您想通过需要身份验证的代理发出 HTTP 请求,而不是使用 Squid 中的身份验证方法来验证对您的网络服务器的请求。

您只需为 CURLOPT_PROXYAUTH CURLOPT_PROXYPORT(通常为 3128)和 CURLOPT_PROXYTYPE (http) 设置正确的值

$ch = curl_init();
$opts=array(
   CURLOPT_PROXY="squid.example.com",
   CURLOPT_PROXYPORT=>3128,
   CURLOPT_PROXYTYPE=>CURLPROXY_HTTP,
   CURLOPT_PROXYAUTH=>CURLAUTH_BASIC,
   CURLOPT_PROXYUSERPWD=>"${username}:${password}",
   CURLOPT_URL=>"http://www.example.com/sompage.html");
curl_setopt_array($opts);
curl_exec($ch);

请注意,这假定 squid 配置为进行 HTTP 身份验证(而不是基于会话或 NTLM 的身份验证)。

真的不想在 PHP 中使用套接字来执行此操作。

高温高压

C。

于 2010-06-27T12:16:34.240 回答
0

内置cURL 扩展都能够通过代理发出请求。使用任何一个都比直接使用套接字要好得多。

cURL 扩展明确提到了代理身份验证,而流没有明确提及它,但接受代理作为 URI,因此您也许可以使用该proto://user:pass@host:port语法。我没有尝试过,也不知道这是否有效。

于 2010-06-26T23:35:12.307 回答