Авторизация в Яндекс

Статус
В этой теме нельзя размещать новые ответы.

krobol

Постоялец
Регистрация
5 Июн 2008
Сообщения
455
Реакции
126
Пишу скрипт для получения информации из Яндекс.Вебмастер.
Никак не удаётся корректно авторизоваться.

С Яндексом общаюсь с помощью библиотеки Snoopy

Прохожу авторизацию в Яндекс такими шагами:

шаг 1:
passport.yandex.ru/passport?mode=auth&retpath=http://webmaster.yandex.ru
получаю idkey, куки и ссылку на авторизацию для шага2

шаг2:
passport.yandex.ru/passport?mode=auth
сюда отправляю idkey, логин, пароль, timestamp
и получаю /Location: (.*?)$/m - линк куда редиректится

шаг2->редирект1:
passport-ckicheck.yandex.ru
здесь получаю /Location: (.*?)$/m - линк куда редиректится дальше

шаг2->редирект2:
pass.yandex.ru
...и вот тут у меня ничего не получается.
На этой странице выдаётся редирект на конечную страницу вида:
webmaster.yandex.ru/?ncrnd=9518
+ выдаётся куки Session_id
Так происходит, если логинюсь и смотрю HttpFox - лог того, что отправляется/получается от сервера.
А скрипт получает пустую страницу :confused: Почему, никак не могу понять???

Если вместо шаг2->редирект2 (pass.yandex.ru) сразу запрашивать
webmaster.yandex.ru без ncrnd и без Session_id, выданной страницей pass.yandex.ru, то всё нормально логинится. Можно на этом и остановиться, но что то тут не так. Шаг pass.yandex.ru оказывается пропущен.

Помогите разобраться, почему я не могу скриптом получить ответ от pass.yandex.ru, а получаю пустую страницу?
 
Авторизация проходит через https, возможно из-за этого у Вас пустая страница.

Анализируйте заголовки. Советую использовать Fiddler, он же может работать через https со своим сертификатом и использоваться в качестве прокси-сервера для Вашего скрипта.
 
Сделал с помощью curl с применением CURLOPT_FOLLOWLOCATION=TRUE

Всё работает нормально.

Видимо, проблема в Snoopy. Жаль, придётся переписывать скрипт со Snoopy на curl.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху