|
|
|
Всем привет!
Кто знает 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) - там неавторизован.
Или может есть более простой путь на Мой Мир авторизоваться.
Заранее большое спасибо! |
|
|
|
|
|
Код: |
echo file_get_contents("http://my.mail.ru/");
|
Это не особо похоже на curl
Код: |
<?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 |
|
|
|
|
|
Codd, огромное спасибо, работает супер! |
|
|
|
|
|
|
|