передача данных методом POST через socket

<?php
/*
*передача данных методом POST через сокет
*автор: nc_soft
*25.08.07
*/

//сайт
$host='site.ru';

//скрипт-обработчик
$path='/index.php';

//данные
$data='a=1&b=2';

//открываем сокет
$fp = @fsockopen("tcp://".$host, 80, $errno, $errstr, 10);
if (!$fp)
{
    die($errstr.':'.$errno);
}
else
{
    $out  = "POST $path HTTP/1.0\r\n";
    $out .= "Host: $host\r\n";
    //указываем что это пост данные
    $out .= "Content-type: application/x-www-form-urlencoded\r\n";
    //указываем количество байт
    $out .= "Content-Length: ". strlen($data) ."\r\n";
    $out .= "Connection: Close\r\n\r\n";

    //посылаем данные
    fwrite($fp, $out.$data);

    $headers='';

    //читаем заголовки
    while ($str = trim(fgets($fp, 4096)))
    $headers .= "$str\n";

    $body='';

    //читаем ответ
    while (!feof($fp))
    $body.= fgets($fp, 4096);

    //закрываем сокет
    fclose($fp);
}

//выводим данные
echo $headers.'<hr/>'.$body;

?>