АРМАДА
Как авторизоваться на my.mail.ru при помощи curl?
Новая тема Написать ответ Advanced Hosters - профессиональный хостинг

Yabuti
V.I.P.
Зарегистрирован: 28.11.2008
Сообщений: 16263
Contest (Сумма: 2)
Обратиться по нику
# Добавлено:Вт Окт 09, 2012 4:53 pmДобавить в избранноеОтветить с цитатой
Всем привет!
Кто знает php, пожалуйста подскажите, как при помощи curl авторизоваться на my.mail.ru (Мой Мир)?

Вот такой код:
Код:
header('Content-type: text/html; charset=utf-8');
setlocale(LC_ALL, 'ru_RU.utf8');
date_default_timezone_set('Europe/Moscow');
 
// это нужно заполнить
$login = 'логин';
$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/");

echo "<br><br>FINISH";


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

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

Заранее большое спасибо!
Ксен ВПС и выделенные серверы от PQCService.net с бесплатным администрированием в 7 локациях, icq: 87244588
--

Codd
Опытный
Зарегистрирован: 13.01.2011
Сообщений: 186
Обратиться по нику
# Добавлено:Вт Окт 09, 2012 7:22 pmОтветить с цитатой
Код:
echo file_get_contents("http://my.mail.ru/");


Это не особо похоже на curl Smile

Код:
<?php

require 'curl.php';

$curl = new Curl();

# user@mail.ru
$domain = 'mail.ru';
$login = 'user;
$password = 'pass';

# Авторизуемся
$curl
    ->url('https://auth.mail.ru/cgi-bin/auth')
    ->postarray(array('Domain' => $domain, 'Login' => $login, 'Password' => $password))
    ->go('post');

# Устанавливаем куки
foreach($curl->info['cookies'] as $key => $val)
    $curl->cookies .= "$key=$val";

# Выводим страницу
echo $curl->url('http://my.mail.ru/')->go()->res;



curl.php

Yabuti
V.I.P.
Зарегистрирован: 28.11.2008
Сообщений: 16263
Contest (Сумма: 2)
Обратиться по нику
# Добавлено:Вт Окт 09, 2012 9:10 pmОтветить с цитатой
Codd, огромное спасибо, работает супер! :thup: Yahoo!
Ксен ВПС и выделенные серверы от PQCService.net с бесплатным администрированием в 7 локациях, icq: 87244588
--
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ

Перейти:  





Генеральный спонсор



Партнеры