首页 > PHP > 添加换行符防止fsockopen超时

添加换行符防止fsockopen超时

2009年5月26日 发表评论 阅读评论

[coolcode lang="php"]
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)
\n”;
} else {
$out = “GET / HTTP/1.1\r\n”;
$out .= “Host: www.example.com\r\n”;
$out .= “Connection: Close\r\n\r\n”;

fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
[/coolcode]
摘自PHP手册.
如果不注意out数据中的换行符问题,将上例中的

$out .= “Connection: Close\r\n\r\n”;

不小心写成

$out .= “Connection: Close\r\n”;

就会出现fsockopen运行60秒超时的情况
socket-timeout
所以一定要记住以两个”\r\n”结尾.而且一定是out的最后一行,已表明结束!否则socket会一直等着你哦!

本文地址:http://www.etang.info/php-it/fsockopen-timeout.html

文章来源:亿唐网

原创文章,转载请注明以上版权信息,亿唐网感谢您的理解与支持!

分类: PHP 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.