【问题标题】:authenticate throw squid proxy (PHP socket)验证 throw squid 代理(PHP 套接字)
【发布时间】:2010-06-26 22:29:58
【问题描述】:

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

【问题讨论】:

    标签: php sockets squid


    【解决方案1】:

    内置的streamscURL extension 都可以通过代理发出请求。使用任何一个都比直接使用套接字要好得多。

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

    【讨论】:

    • 是的,我想在我的程序中直接使用套接字,而不是调用 curl 扩展。我不知道要接收什么,以及发送什么来进行身份验证抛出代理...
    • 当有人已经为您完成了创建库的所有艰苦工作时,您真的不想使用套接字。
    【解决方案2】:

    我假设您的意思是您想通过需要身份验证的代理发出 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 中使用套接字来执行此操作。

    HTH

    C.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      • 1970-01-01
      相关资源
      最近更新 更多