
26.12.2008, 18:51
|
|
Участник форума
Регистрация: 24.11.2008
Сообщений: 205
С нами:
9190406
Репутация:
362
|
|
Mixon
PHP код:
<?php
// обьявление функции
function http_send($host, $packet)
{
// открываем сокет на заданный хост и порт 80
$sock = fsockopen($host, 80);
// если не подключается ....
while (!$sock)
{
// ... выводим предупреждение ...
print "\n[-] No response from {$host}:80 Trying again...";
// ... и пробуем снова... и снова
$sock = fsockopen($host, 80);
}
// пишем в сокет запрос
fputs($sock, $packet);
// переменная под ответ сервера
$resp = '';
// читаем ответ сервера
while (!feof($sock)) $resp .= fread($sock, 1024);
// закрываем сокет
fclose($sock);
// возвращаем функцией ответ сервера
return $resp;
}
// а теперь пример, логинимся вконтатке
$host = 'vkontakte.ru';
$login = '1111@mail.ru';
$pass = '11111';
// меняем собаку на ее хтмл представление
$pass = str_replace('@','%40',$pass);
// собственно сами пост-данные, пишем отдельно потому что в Content-Length нужно будет передать их длину
$post = 'email='.$login.'&pass='.$pass;
// хидеры
$packet = 'POST /login.php HTTP/1.1'."\r\n".
'Connection: close'."\r\n".
'Host: '.$host."\r\n".
'Referer: http://vkontakte.ru/'."\r\n".
'User-Agent: Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1'."\r\n".
'Content-Language: ru'."\r\n".
'Content-Type: application/x-www-form-urlencoded'."\r\n".
'Content-Length: '.strlen($post)."\r\n\r\n".$post;
// перед пост-данными два раза перевод строки (\r\n\r\n)
// шлем запрос
echo http_send($host, $packet);
?>
|
|
|