![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
Kornev |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.12.2006 Репутация: нет Всего: нет |
Помогите, пожалуйста, разобраться.
Написал код, который заходит на сайт и потом пробует на нем авторизироваться POST запросом. Но почему то не авторизируется :( Не могу разобраться в чем ошибся...?
|
|||
|
||||
Kornev |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.12.2006 Репутация: нет Всего: нет |
Ув. форумчане, очень жду ответов, так как сам не могу решить эту проблему, хоть и пытаюсь всю неделю...
![]() |
|||
|
||||
krypt3r |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: 1 Всего: 16 |
Вы эта, включите хотя бы дебажный режим. А также запустите сниффер
|
|||
|
||||
MaXL |
|
||||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 24.10.2005 Где: Владивосток Репутация: нет Всего: 2 |
а зачем вы ещё раз это делаете ? вообще, в этот файл что-нибудь записывается после работы скрипта ?
![]() И вообще, повыводите контент, что возвращает сервак. -------------------- MaXL |
||||
|
|||||
Kornev |
|
||||||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.12.2006 Репутация: нет Всего: нет |
Вы уж извините, но совсем не понимаю о чем именно идет речь. Если возможно, поясните более детально, пожалуйста. Добавлено через 13 минут и 45 секунд
закомментировал вторую часть кода и сделал echo $VIEWSTATE на этапе ее формирования. Результат вроде как правильный... По крайней мере похож на тот, который выдает мне браузер, когда захожу на https://e-shop.pcshop.ua/ Я так понял, что эта переменная формируется каждый раз новая. По этому и сделал парсинг в 2-а этапа. Сначала захожу на https://e-shop.pcshop.ua/ для получения этой переменной. Потом передаю на https://e-shop.pcshop.ua/Login.aspx?ReturnU...2fMainPage.aspx Пост запрос с этой переменной включительно. Почитал еще немного форумные обсуждения... Говорят, что вроде бы нужно в переменные пост запроса добавить имя кнопки Submit. В моем случае это вроде как <input type="submit" name="PleaseWaitButton" value="" id="PleaseWaitButton" class="WaitBtnClass" Теперь массив $post выглядит так: $post = array( '__VIEWSTATE' => $VIEWSTATE, 'usr' => $login, 'pwd' => $password, 'PleaseWaitButton' => "" ); Но все равно ничего не работает. Ответ сервера:
Мой файл php изменил так:
Ребята, помогите разобраться, пожалуйста. Если нужно, готов отблагодорить ![]() |
||||||||||||
|
|||||||||||||
Kornev |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.12.2006 Репутация: нет Всего: нет |
Нашел следующую проблему:
Функция http_build_query($post) на выходе выдает такие данные: __VIEWSTATE=%2FwEPaA8FDzhjZjJlMjNlM2FiMmU0NWQ1%2BCXU18LG2jhs23A8AjWmNL5yzQ%3D%3D&usr=user&pwd=password Хотя в оригинале они должны выглядеть так: __VIEWSTATE=/wEPaA8FDzhjZjJlMjNlM2FiMmU0NWQ1+CXU18LG2jhs23A8AjWmNL5yzQ==&usr=user&pwd=password Т.е. переменная __VIEWSTATE должна быть "/wEPaA8FDzhjZjJlMjNlM2FiMmU0NWQ1+CXU18LG2jhs23A8AjWmNL5yzQ==" Смущает то, что она заканчивается на два знака ==, это никак не повлиеет на Post запрос? |
|||
|
||||
Kornev |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.12.2006 Репутация: нет Всего: нет |
значения user и password не настоящие.
Если кому то необходимы настоящие значения для тестирования, дайте знать. |
|||
|
||||
MaXL |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 24.10.2005 Где: Владивосток Репутация: нет Всего: 2 |
Всё правильно она выдаёт. Значения параметров преобразованные с помощью urlencode. -------------------- MaXL |
|||
|
||||
Kornev |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.12.2006 Репутация: нет Всего: нет |
В чем же тогда проблема?
Может кто-то может сказать что нибудь умное по поводу ответа сервера. Я его выкладывал ранее... В какую сторону копать? |
|||
|
||||
MaXL |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 24.10.2005 Где: Владивосток Репутация: нет Всего: 2 |
Kornev, файл с cookies имеет права на запись скриптом ?
-------------------- MaXL |
|||
|
||||
Kornev |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.12.2006 Репутация: нет Всего: нет |
Проверил. Права доступа 777 Содержимое файла: # Netscape HTTP Cookie File # http://www.netscape.com/newsref/std/cookie_spec.html # This file was generated by libcurl! Edit at your own risk. e-shop.pcshop.ua FALSE / FALSE 0 ASP.NET_SessionId udvnh055ix2jwz23jcjez145 Добавлено через 5 минут и 48 секунд Вы не знаете, сколько может стоит реализовать этот скрипт? Я уже задумываюсь, может стоит кому то денег заплптить... |
|||
|
||||
MaXL |
|
||||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 24.10.2005 Где: Владивосток Репутация: нет Всего: 2 |
зашёл. посмотрел. вы не все поля передаёте. при нажатии на кнопку отправляются такие поля:
знаю. в личку ![]() -------------------- MaXL |
||||
|
|||||
Kornev |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.12.2006 Репутация: нет Всего: нет |
Установил снифер ( HttpAnalyzerStdV6 ), чтоб проанализировать поведение браузера...
Пока ничего нового не заметил. Во вкладке PostData вроде теже переменные:
во вкладке Header информации конечно немного больше:
Нашел на форумах, что есть такая настройка для CURL: curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); а массив $headers выглядит примерно так:
Но не могу разобраться, стоит ли вообще в эту сторону копать. Или проблема лежит где то в другом месте... Написанный код по прежнему вызывает ошибку на сервере. Вот принт скрин: ![]() http://s2.ipicture.ru/uploads/20120816/U5A1yo9W.jpg На текущий момент код приобрел следующий вид: Логин и пароль указанны не настоящие. Если для тестирования нужны настоящие, пишите...
|
||||||||
|
|||||||||
нуп |
|
|||
![]() Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: нет Всего: 33 |
В коде много переменных которые не объявлены: $curl, $page, $xml_data, $credentials
Делайте все поэтапно, выводите результат и смотрите что не так. Это сообщение отредактировал(а) нуп - 17.8.2012, 01:32 |
|||
|
||||
Kornev |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.12.2006 Репутация: нет Всего: нет |
Извиняюсь.
Из-за неправильного КОПИ - ПАСТА в коде был неиспользуемый кусок кода. отредактированный вариант по прежнему не работает:
Вопрос в следующем: стоит ли копать в сторону передаваемой переменной $headers и функции curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); Могут ли они вызывать такую ошибку? В прошлых версиях кода эта переменная и функция вообще не использовались. Ошибка была такая же... |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |