Нашел свою функцию для работы с сокетами. Если нет курла, то очень удобно.
<?php
set_time_limit(0);
ob_implicit_flush ();
//
//mr.The (C)
//
/**
Функция получения страницы с использованием сокетов
**/
function get_page($site,$page,$isheaders=false,$ua='Opera 9.27 (compatible; MSIE 6.0; Windows NT 5.1; ru)',$ref='',$cookie='',$post='')
{
$page=trim($page);
$site=trim($site);
$socket = fsockopen($site, 80, $errno, $errstr, 15);
if ($socket){
if ($post!=''){
$send = "POST $page HTTP/1.0\r\n";
$send .= "Content-Length: ". strlen($post) ."\r\n";
$send .= "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n";
} else $send = "GET $page HTTP/1.0\r\n";
$send .= "User-Agent: $ua\r\n";
$send .= "Host: $site\r\n";
$send .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
if($ref!='') $send .= "Referer: $ref\r\n";
if($cookie!=''){
$send .= "Cookie: $cookie\r\n";
$send .= 'Cookie2: $Version=1'."\r\n";
}
$send .= "Accept-Language: ru,en;q=0.9,ru-RU;q=0.8\r\n";
$send .= "Connection: close\r\n\r\n".$post;
if(fputs($socket,$send)) {
if(!$isheaders) while(fgets($socket,1024)!="\r\n" && !feof($socket));
$he="";
while(!feof($socket)) $he.=fread($socket,10240);
};
fclose($socket);
}
return $he;
};
?>