At Zend_Http_Response incubator version,
extractBody method is written by following code.
static public function extractBody(&$response_str)
{
$lines = explode("\r\n", $response_str);
$line = null;
while ($line !== "")
$line = array_shift($lines);
$body = implode("\r\n", $lines);
return $body;
}
But, if an invalid response with no blank lines is returned, it causes an inifinite loop.
ex) http://web.sfc.keio.ac.jp/~s01133su/mt/archives/000259.html
returns response with no CRLFs
So, please check whether $lines is empty or not in the following loop.
while ($line !== "")
$line = array_shift($lines);
Note that the example server you sent uses juft LF as line breaks, which AFAIK breaks RFC compatibility (HTTP requests and responses should use CRLF as line breaks).
I reported another bug (
ZF-183) to fix this, adding support for non-standard LF line breaks in Zend_Http_Response.Until this "bug" is also fixed, you will probably get an exception from Zend_Http_Response when trying to read from servers that use LF instead of CRLF.