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

时间:2012-01-11 21:44:53

标签: php fputs

您好我正在尝试将私有代理支持添加到使用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");

2 个答案:

答案 0 :(得分:1)

您应该检查$ ptr是否为false,如果为false则为break。一定要使用严格的比较(===)。

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

答案 1 :(得分:0)

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

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