【问题标题】:Fsockopen and proxy authentication in PHPPHP 中的 Fsockopen 和代理身份验证
【发布时间】:2011-01-25 10:40:15
【问题描述】:

我正在尝试将代理使用(通过身份验证)集成到查询 whois 数据的脚本中。

我想做的是

1) 连接代理IP和端口 2) 验证用户名和密码 3) 连接whois服务器并发送域详细信息,接收请求作为回报。

我的脚本在没有代理的情况下工作

private function whois($domeinnaam, $whoisrule)
{
    list ($server, $poort, $domein, $vrij) = $whoisrule;
    $domein = str_replace("{domein}", $domeinnaam, $domein);

    $fp = fsockopen($server, $poort);

    if($fp)
    {
        fputs($fp, $domein."\r\n");
        $data = "";
        while(!feof($fp))
        {
            $data .= fread($fp, 1000);
        }

        fclose($fp);
    }
    else
    {
        $data = "error";
    }

    // Cache whois data
    $this->_whoisdata[$domein] = $data;

    return $data;
}

但是有人知道我如何将代理服务器和身份验证集成到此代码中吗?

【问题讨论】:

  • 代理通常与协议一起工作。HTTP proxy / FTP Proxy 等等。你的代理呢?在我看来,Socks proxy
  • 我认为我的代理是 HTTP 代理
  • 从您的代码中可以看出,您并没有通过套接字发出 HTTP 请求,您只是编写了一个字符串。如果需要连接到 HTTP 代理,则需要使用 HTTP 协议

标签: php fsockopen


【解决方案1】:

cURL 有一些方便的 CURLOPT_PROXY* optionsThis answer 展示了如何使用它们。

【讨论】:

  • 为什么? cURL 不可用吗?您至少可以在您的开发机器上使用 cURL 实现它,并查看线路上发生了什么(例如使用 wireshark)。然后你就知道在套接字上写什么和读什么了。
猜你喜欢
  • 2011-06-21
  • 1970-01-01
  • 2015-09-25
  • 1970-01-01
  • 1970-01-01
  • 2020-05-28
  • 2023-03-25
  • 2020-12-07
  • 2013-07-31
相关资源
最近更新 更多