[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация майл.ру с помошью сокетов
Max78


$hostname = "win.mail.ru";
$path = "/cgi-bin/auth";
$login="логин"; $pass="пароль"; $domain="mail.ru";

$line = "";
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
// Проверяем успешность установки соединения
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
// Данные POST-запроса
$data = "login=" . urlencode($login) . "&password=" . urlencode($$pass) . "&domain=" . urlencode($domain) . "&\r\n\r\n";
$headers = "POST $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= $out."\r\n"; // constant
include "additional_headers.php";
$headers .= "Connection: Close\r\n\r\n";
// Отправляем HTTP-запрос серверу
//fwrite($fp, $headers);

fwrite($fp, $headers.$data);
// Получаем ответ
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}


fclose($fp);
}
echo "<pre>"; print_r($line); echo "</pre>";



не могу авторизоваться , кто может написать скрипт



Спустя 5 часов, 19 минут, 40 секунд (21.04.2010 - 18:09) sl4mmer написал(а):
могу подкинуть идею))

1) Если тебе надо чисто работать с почтой - то наверное проще всеж проще через smtp.mail.ru ( и соответственно pop.mail.ru)


2)Ну если для дргих целей- юзай snoopy.class

вот пример кода с ним (получение куккисов и отправка формы)- переделаешь под свои нужды

$snoopy = new Snoopy;

$snoopy->fetch('http://'.$domain.'/index.php?option=com_user&view=reset&layout=confirm');

for ($i=0;$i<count($snoopy->headers);$i++){
$bg=preg_match('/Set-Cookie:..{32}/ ',$snoopy->headers[$i],$cooknam) ;
if ($bg!==0){
$bg=preg_match('/Set-Cookie:..{32}/ ',$snoopy->headers[$i],$cooknam) ;
$cookname=str_replace('Set-Cookie: ',"",$cooknam[0]);
$bg=preg_match('/=.{32}/ ',$snoopy->headers[$i],$cookval) ;
$cookvalue=str_replace('=',"",$cookval[0]);
$cookvalue=str_replace('; path',"",$cookvalue);
break;
}
}

$bg=preg_match('/input type="hidden" name=".{32}" value="1"/ ',$snoopy->results,$secid) ;
$fsec=str_replace('input type="hidden" name="',"",$secid[0]);
$fsec=str_replace('" value="1"',"",$fsec);


$snoopy->cookies["$cookname"] = $cookvalue;

$snoopy->submit('http://'.$domain.'/index.php?option=com_user&task=confirmreset',array('token'=>'`',
"$fsec"=>'1'));




Спустя 1 год, 5 месяцев, 4 дня, 22 часа, 38 минут, 18 секунд (26.09.2011 - 16:48) Guest написал(а):
Цитата (sl4mmer @ 21.04.2010 - 15:09)
могу подкинуть идею))

1) Если тебе надо чисто работать с почтой - то наверное проще всеж проще через smtp.mail.ru ( и соответственно pop.mail.ru)


2)Ну если для дргих целей- юзай snoopy.class

вот пример кода с ним (получение куккисов и отправка формы)- переделаешь под свои нужды

$snoopy = new Snoopy;

$snoopy->fetch('http://'.$domain.'/index.php?option=com_user&view=reset&layout=confirm');

for ($i=0;$i<count($snoopy->headers);$i++){
$bg=preg_match('/Set-Cookie:..{32}/ ',$snoopy->headers[$i],$cooknam) ;
if ($bg!==0){
$bg=preg_match('/Set-Cookie:..{32}/ ',$snoopy->headers[$i],$cooknam) ;
$cookname=str_replace('Set-Cookie: ',"",$cooknam[0]);
$bg=preg_match('/=.{32}/ ',$snoopy->headers[$i],$cookval) ;
$cookvalue=str_replace('=',"",$cookval[0]);
$cookvalue=str_replace('; path',"",$cookvalue);
break;
}
}

$bg=preg_match('/input type="hidden" name=".{32}" value="1"/ ',$snoopy->results,$secid) ;
$fsec=str_replace('input type="hidden" name="',"",$secid[0]);
$fsec=str_replace('" value="1"',"",$fsec);


$snoopy->[SPAN=darling]cookies[/SPAN]["$cookname"] = $cookvalue;

$snoopy->submit('http://'.$domain.'/index.php?option=com_user&task=confirmreset',array('token'=>'`',
"$fsec"=>'1'));

спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.