Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Как авторизоваться на my.mail.ru при помощи CURL?
цитата
09/10/12 в 16:49
 Yabuti
Всем привет!
Кто знает php, пожалуйста подскажите, как при помощи curl авторизоваться на my.mail.ru (Мой Мир)?

Вот такой код:
Код:
<?php header('Content-type: text/html; charset=utf-8');
setlocale(LC_ALL, 'ru_RU.utf8');
date_default_timezone_set('Europe/Moscow');

// это нужно заполнить
$login = 'логин@mail.ru';
$password = 'пасс';

$user_agent = 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1';

$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');

curl_setopt($ch, CURLOPT_POST, false);

curl_setopt($ch, CURLOPT_URL, "http://swa.mail.ru/cgi-bin/auth?Password=$password&Login=$login");

curl_exec($ch);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

echo curl_setopt($ch, CURLOPT_URL, "http://m.mail.ru/cgi-bin/gosearch?q_read=2&q_folder=all");

$answer = curl_exec($ch);

$matches = array();
preg_match_all('/<span>([^<]+)<\/span>/', $answer, $matches);

foreach ($matches[1] as $value) {
    echo $value . '<br />';
}



echo file_get_contents("http://my.mail.ru/");

?>

- отлично авторизуется на самом Mail.ru, а ниже вывожу страницу Мой Мир (my.mail.ru) - там неавторизован.

Или может есть более простой путь на Мой Мир авторизоваться.

Заранее большое спасибо!
smail04.gif
цитата
09/10/12 в 16:51
 ibiz
наверное дальнейшие запросы надо делать с авторизованными куками dirname(__FILE__) . '/cookie.txt' trollface.png
цитата
09/10/12 в 17:47
 shar
куки после авторизации сохранились у курла, а запрос к my.mail.ru идет через file_get_contents. надо либо запрос через курл делать, либо добавить куки в file_get_contents


Эта страница в полной версии