POST
<?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;
?>
GET
<?php
/*
*передача данных методом GET через сокет
*автор: nc_soft
*25.08.07
*/
//сайт
$host='wen.ru';
//скрипт-обработчик (получим главную страницу)
$path='/';
//открываем сокет
$fp = @fsockopen("tcp://".$host, 80, $errno, $errstr, 10);
if (!$fp)
{
die($errstr.':'.$errno);
}
else
{
$out = "GET $path HTTP/1.0\r\n";
$out .= "Host: $host\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;
?>