|
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами:
9851426
Репутация:
1676
|
|
Привет есть ли скрипт для Вконтакте:
по id выводяший имя из Вконтакте???
PHP код:
<?php
$browser="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14";
$acc = 'email@inbox.ru';
$pwd = '123456';
if(isset($_POST['id']) && !empty($_POST['id']))
{
$id = $_POST['id'];
$ret=socket_do("vkontakte.ru","email=$acc&pass=$pwd","/login.php",$browser,'',1,"POST",'http://vkontakte.ru',1,'','');
$ret=substr($ret,0,strpos($ret,"\r\n\r\n"));
preg_match_all("/Set-Cookie: ([\s\S]+); expires=/isU",$ret,$m);
$cook = '';
$tcnt = 0 ;
foreach($m[1] as $ck)
{
$tcnt++;
if($tcnt==1 || strpos($ck,'remixcookietest=')!==false) continue;
$cook.=$ck.'; ';
}
if($tcnt == 4)
{
print "Bad acc";
exit;
}
$ret=socket_do("vkontakte.ru", '', "/search.php?id=".$id,$browser,$cook,1,"GET",'http://vkontakte.ru',1,'','');
preg_match('/Имя:<\/dt>(.+?)">([\w ]+)<\//s', $ret, $match);
print $match[2];
}
else
{
print <<<END
<form method="post">
<input type="text" name="id">
<input type="submit" value="OK">
</form>
END;
}
function socket_do($host,$vars,$service_uri,$browser,$cookies='',$sread=1,$method='POST',$ref='',$addheaders=1,$proxy=false,$proxyport=0,$HTTP='1.0')
{
$ret="";
if($method=='GET' && $vars)
{
$service_uri.='?'.$vars;
$vars='';
}
$header="Host: $host\r\n";
$header.="User-Agent: $browser\r\n";
if($addheaders==1)
{
$header.="Content-Type: application/x-www-form-urlencoded\r\n";
$header.="Content-Length: ".strlen($vars)."\r\n";
}
else if($addheaders==0)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: \r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
}
else if($addheaders==2)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: \r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
$header.="Pragma: no-cache\r\n";
$header.="Cache-Control: no-cache\r\n";
$header.="Content-Length: ".strlen($vars)."\r\n";
$header.="Content-Type: application/x-www-form-urlencoded; charset=windows-1251\r\n";
}
else if($addheaders==3)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: gzip,deflate\r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
}
if($ref) $header.="Referer: $ref\r\n";
$header.="Connection: close\r\n";
if($cookies)
$header.="Cookie: $cookies\r\n";
$header.="\r\n";
if($proxy)
{
$addquery="$method http://$host$service_uri HTTP/$HTTP\r\n";
$fp=fsockopen("tcp://".$proxy,$proxyport,$errno,$errstr,30);
}
else
{
$addquery="$method $service_uri HTTP/$HTTP\r\n";
$fp=fsockopen("tcp://".$host,80,$errno,$errstr,30);
}
stream_set_timeout($fp,30);
if(!$fp)
{
print "Socket error: <i>$errstr ($errno)</i>";
exit();
}
fputs($fp,$addquery);
fputs($fp,$header.$vars);
if($sread)
{
while(!feof($fp))
{
$ret.=fgets($fp, 1024);
}
}
fclose($fp);
return $ret;
}
?>
|