折雨的天空

博客介绍:本博客当前共有文章【968】篇,总阅读量【5,158,696】次,第一篇博客发表于【2011年04月06日 10时34分】,距今已【4978】天,感谢您的使用!

您的位置:折雨的天空 >php开发> php的fsockopen超时的问题

php的fsockopen超时的问题

今天有人问到file_get_contents在使用的时候出现failed to open stream: HTTP request failed!的错误,因为我平时都不怎么使用这个东西,但是我知道file_get_contents在获取远程文件的时候总是有那么一些力不从心,所以立马想到使用fsockopen专业点,但是也没怎么使用过这个函数,于是网上找到这么段代码:

$url = "roll.news.sina.com.cn";  
$fp = fsockopen($url,80,$errno,$errstr,20);  
if(!$fp){  
    echo "$errno : $errstr";  
}else{  
      
    $out = "GET /news/gnxw/zs-pl/index_1.shtml HTTP/1.1/r/n";  
    $out .= "Host: roll.news.sina.com.cn/r/n";  
    $out .= "Connection: Close/r/n/r/n";  
    $out .= "Keep-Alive: 300/r/n";  
    $out .= "Connection: keep-alive/r/n";  
    fputs($fp, $out);  
      
    //获取fsockopen的全部内容赋值到$file  
    $file = '';  
    while(!feof($fp)) {  
        $file .= fgets($fp,128);  
    }  
    fclose($fp); 
用来调试了半天,总是出现代码执行超时的问题,后来找了好久,终于找到有人遇到一个问题,原来是这段代码的\r\n的问题。

看上面代码是不是所有地方都是/r/n,这个/是反的。

别人的日志地址在:http://www.etang.info/php-it/fsockopen-timeout.html

同时还要注意,\r\n和\r\n\r\n,前者同样会超时。

------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《php的fsockopen超时的问题

奖励一下

取消

分享不易,烦请有多多打赏,如您也困难,点击右边关闭即可!

扫码支持
扫码打赏,5元,10元,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

-秒后自动关闭,如已打赏,或者不愿打赏,请点击右上角关闭图标。

发表评论

路人甲 表情
看不清楚?点图切换