去掉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); |
这段段代码在性能上还有优化的空间
php的页面很多是没有Content-Length的
给个示例看下,具体问题具体分析
$content = substr($content, – $length);
多谢,
看了就得顶,很在意你们搞的PHP开源项目,不知道现在进展如何
感谢关注,正在重构之前的文章,近期会有一次发布