scsi
Новичок
http 1.0, http 1.1, и битый html
привет!
код:
вопрос:
почему при испольовании HTTP/1.1 в этом коде ф-ция иногда вовращает битый html, в некоторых местах
появляются символы перевода строки и всякие левые символы..
по идее все правильно, при хттп 1.1 есть хидер host, и Connection: Close..
но если поставить в запросе HTTP/1.0 то чудесным образом все скачивается без повреждений
почему при 1.1 я получаю битый хтмл?
привет!
код:
PHP:
<?php
function testhttp($urlinfo)
{
$fp = @fsockopen($urlinfo['host'], 80, $errno, $errstr, 30);
if (!$fp)
{
return false;
} else
{
$out = "GET " . $urlinfo['path'] . " HTTP/1.1\r\n";
$out .= "Host: " . $urlinfo['host'] . "\r\n";
$out .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, */*\r\n";
$out .= "Accept-Language: en\r\n";
$out .= "UA-CPU: x86\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; MRA 5.3 (build 02552); Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; MRA 5.3 (build 02552); SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2; .NET CLR 3.5.21022)\r\n";
$out .= "Connection: Close\r\n\r\n";
@fwrite($fp, $out);
echo "done!\n";
$r = '';
while (!@feof($fp))
{
$r = $r . @fgets($fp, 128);
}
@fclose($fp);
}
return $r;
}
?>
почему при испольовании HTTP/1.1 в этом коде ф-ция иногда вовращает битый html, в некоторых местах
появляются символы перевода строки и всякие левые символы..
по идее все правильно, при хттп 1.1 есть хидер host, и Connection: Close..
но если поставить в запросе HTTP/1.0 то чудесным образом все скачивается без повреждений
почему при 1.1 я получаю битый хтмл?