我必须编写一个PHP脚本,作为另一个HTTP服务器的客户端。此服务器忽略HTTP连接:关闭标头,并保持TCP连接处于打开状态,除非它被客户端关闭。这是我的困境。我(客户端)必须决定HTTP请求/响应何时完成,然后关闭连接。简单地使用:检测HTTP数据包的结尾
$ data = file_get_contents($ url);
..将无法正常工作,因为file_get_contents仅在连接超时(默认30秒)到达时才会返回。
所以我必须写我自己读 - 像这样的(伪代码)循环:
$sock = fsockopen(...);
$data = '';
while($line = fgets($sock)) {
$data .= $line;
if(http_package_recieved()) {
break;
}
}
不幸的是,在响应没有Content-Length头。我的问题是,如何在功能
http_package_recieved()
...应该像。
电贺 托尔斯滕
这个问题今天被下调了 - 发布后的5年。 downvoter可以解释背后的原因吗? – hek2mgl 2015-06-10 12:32:30