1

嗨,我正在尝试将私有代理支持添加到使用 fsockopen 而不是 cURL 的 PHP 类中,但我有点迷失了!

我有以下代码为每个 fputs 行生成错误警告:

fputs():提供的参数不是有效的流资源

任何帮助将非常感激。

$proxyServer = '173.208.43.223';
$proxyPort = '8800';
$login = 'myuser'; // login name
$passwd = 'mypassword'; // password


$ptr = @fsockopen($proxyServer, $proxyPort, $errno, $errstr, $this->STIMEOUT);
fputs($ptr,"Proxy-Authorization: Basic ".base64_encode("$login:$passwd") ."\r\n");          
$uri = $server.":".$port;
fputs($ptr, 'GET '.$uri.' HTTP/1.0'."\r\n");
4

2 回答 2

1

您应该检查 $ptr 是否为假,如果为假则中断。请务必使用严格比较 (===)。

如果您删除 @-sign,您将看到错误消息。@ 符号通常是错误代码的指示器。

于 2012-01-11T21:48:08.050 回答
0

我遇到了同样的问题,并通过做以下事情来解决它。

删除@符号并将时间限制增加到30,它可以工作。:)

于 2013-03-20T06:05:21.973 回答