PDA

Просмотр полной версии : php футентификация на https и отправка двух post запросов


Jim_Di
15.12.2009, 13:35
суть такова - есть страничка с полем ввода логина и пароля https://uslugi.beeline.ru/. мне наобходимо залогинится и выкачать страничку следующую чтобы её собсно парсить. у всех как у людей а вот у билайна личный кабинет сделан как всегда непойми как.

надо несколько запросов отправить серверу чтобы попасть на нужную страницу. подскажите про что почитать в мануале на эту тему
запросы я уже все нашёл и последовательно вставляя в адресную строку браузера дохожу до нужной страницы. теперь хочется это всё дело на пхп запилить

первый запрос - идентифицируемся и передаём логин и пароль

https://uslugi.beeline.ru/loginPage.do?_stateParam=eCareLocale.currentLocale %3Dru_RU__Russian&_forwardName=null&_resetBreadCrumbs=false&_expandStatus=&userName=username&password=pass&ecareAction=login

второй запрос помогает нам избежать многочисленных тыканий по меню и попасть на страницу с балансом

https://uslugi.beeline.ru/navigateMenu.do?_navigation_secondaryMenu=billing. payment&_resetBreadCrumbs=true&_stateParam=Reports.isNoneHierarchy%3Dfalse%3Bnode TypeNs%3Anull.pointLogicalId%3DCR_20%3BbreadCrumbs .breadCrumbDO1%3D0_1_%3BbillCloseDateNs%3Anull.poi ntLogicalId%3D0%3BTree%3AbillRepl.selected%3D0%3Bb readCrumbs.breadCrumbsSize%3D1%3Bmulti-level%3Amenu.pointLogicalId%3D11%3BeCareLocale.cur rentLocale%3Dru_RU__Russian%3BEntryNodes%3Areplica 1.pointLogicalId%3D0%3BhierarchyTree%3AbillRepl.po intLogicalId%3D0%3BTree%3AbillRepl.treeExpandedLis t%3D2_%3BCurrencyNS%3Anull.pointLogicalId%3DN%3Bhi erarchyTree%3AbillRepl.effectiveDate%3D12595284000 00%3BbackendSource%3Absource.backendsSourceName%3D ENS%3Bhierarchies%3AhierarchiesRepl1.pointLogicalI d%3D0&_expandStatus=

для начала думал сделать всё с помощью wget, сохраняя куки и потом читая их для второго запроса, но файл с куками каждый раз был пуст. курл поставить возможности нет, пхп собран с openssl и всё везде включено.

в данный момент могу вытащить первую страничку и работать с ней, а как попасть на вторую не знаю. может есть у кого мысли?

LStr1ke
15.12.2009, 14:02
Ну первый запрос сокетам отправляем, в ответе смотрим куки, сохраняем их в переменную, потом во втором запросе используем эти куки и парсим ответ =\
Читаем по теме:
php.net func: FSOCKOPEN (http://ru2.php.net/manual/en/function.fsockopen.php)

Jim_Di
15.12.2009, 14:47
дак итак уже до сокетов добрался, там с https всё парево. тяжко без курла =\