Далее в текущей заметке представлен пример работоспособного программного кода на PHP для автоматической авторизации на сайте почтового веб-сервиса mail.ru.
Замечание от 10 октября 2013 года. Данный вариант авторизации на mail.ru более не является актуальным, устарел — мэйлрушники что-то там поменяли у себя (обновился протокол HTTP — стало c HTTPS). Новый рабочий вариант реализации смотрите вот здесь.
<?php # Задаем параметры учетной записи: логин, пароль, домен (mail.ru, list.ru, bk.ru и т.п.). $login = 'moyo-milo'; $password = 'moi-parolik'; $domain = 'mail.ru'; # Задаем правдоподобный User Agent. # Cookies сохраним в папку с нашим скриптом в одноименный текстовый файл. $user_agent = 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11'; $cookies = dirname(__FILE__) . '/cookies.txt'; # Инициализация cURL: $robot = curl_init(); # Устанавливаем переменную User Agent ("браузер" пользователя), # Устанавливаем источник перехода - реферрера. # cURL будет ждать выполнения функций не более 10 секунд. curl_setopt($robot, CURLOPT_USERAGENT, $user_agent); curl_setopt($robot, CURLOPT_REFERER, "http://mail.ru/"); curl_setopt($robot, CURLOPT_TIMEOUT, 10); # Целевая ссылка для авторизации на mail.ru: curl_setopt($robot, CURLOPT_URL, "http://e.mail.ru/cgi-bin/auth"); # Разрешаем возвращать содержимое страницы. # +Если необходимо, тогда переходим по редиректам. curl_setopt($robot, CURLOPT_RETURNTRANSFER, true); curl_setopt($robot, CURLOPT_FOLLOWLOCATION, true); # Устанавливаем POST-запрос: curl_setopt($robot, CURLOPT_POST, true); curl_setopt($robot, CURLOPT_POSTFIELDS, "Domain=$domain&Login=$login&Password=$password"); # Работаем с куками, cookies: curl_setopt($robot, CURLOPT_COOKIEFILE, $cookies); curl_setopt($robot, CURLOPT_COOKIEJAR, $cookies); # Запускаем авторизацию: curl_exec($robot); # Для примера откроем письмо по представленной ниже ссылке: curl_setopt($robot, CURLOPT_URL,"https://e.mail.ru/cgi-bin/readmsg?id=13513862710000000343&folder=0"); $html = curl_exec($robot); # Закрываем cURL: curl_close($robot); # Выводим страничку на экран: print $html; ?>
Краткие пояснения:
Итак, наш мини-бот зайдет на http://e.mail.ru/cgi-bin/auth и передаст POST-запросом логин и пароль для ящика moyo-milo@mail.ru. Далее он «прочитает» одно письмецо. Cookies при этом будут сохраняться в одноименный текстовый файл, который должен быть расположен в папке с представленным выше скриптом.
Свежие комментарии