http 1.0, http 1.1, и битый html

Статус
В этой теме нельзя размещать новые ответы.

scsi

Новичок
http 1.0, http 1.1, и битый html

привет!

код:

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 я получаю битый хтмл?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху