去掉fsockopen返回结果中的HTTP头信息的2种方法

去掉fsockopen返回结果中的HTTP头信息的两种方法

1、【使用split或substr,strpos截断】
在返回的内容中HTTP头信息与正文内容是以两个“换行回车”隔开的所以我们可以在此截断,取之后的内容。

2、【先取Content-Length,然后截取】
在HTTP协议中,Content-Length字段是一个比较重要的字段,它标明了服务器返回数据的长度,这个长度是不包含HTTP头长度的,也就是说我们可以从 总长度-Content-Length 开始截取
PHP代码如下:

1
2
3
4
   preg_match("/Content-Length:.?(\d+)/", $content, $matches);
    $length = $matches[1];
    $content = substr($content, - $length);  //感谢@fw
    //$content = substr($content, strlen($content) - $length);

这段段代码在性能上还有优化的空间

去掉fsockopen返回结果中的HTTP头信息的2种方法》上有6条评论

胖子进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注


*

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>