Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2013, 18:48   #1
Fordros
Пользователь
 
Регистрация: 26.06.2012
Сообщений: 89
По умолчанию Метод POST (HttpWebRequest и HttpWebResponse)

Добрый день, уважаемые!
Никак не могу победить одну задачу, вот и кручу-верчу... хочу!
Добрался до методов POST и GET, почитал по разным форумам, но ничего из того что нарыл не решило проблему.

Есть внутренний сайт на протоколе HTTPS. используя ниже приведенный код я не могу пройти авторизацию на сайте =(

Подскажите, какую информацию нужно предоставить для понятия ошибки?


Код:
Sub postXMLHTTP()
Const URL$ = "https://pcard.fcbank.com.ua/index.php"
Const URL2$ = "https://pcard.fcbank.com.ua/main/main.php"
Dim rq, param
Dim s$, k&

Set rq = CreateObject("Msxml2.XMLHTTP")
param = "mode=logon&Username=ivashcry&Password=Sa62298%2B&submit=%C2%E2%E5%F1%F2%E8" ' параметр вытянул из fiddler2

rq.Open "POST", URL, False
rq.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
rq.setRequestHeader "Cookie", "PHPSESSID=co9gjqo53odetebr3qg8gi9334"
rq.send param

If rq.readyState = 4 And rq.Status = 200 Then
MsgBox "ОК" ' Сюда доходит нормально, но по фидлеру авторизация не проходит
End If

Set rq = Nothing


End Sub
Fordros вне форума Ответить с цитированием
Старый 23.08.2013, 21:03   #2
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

на первый взгляд ошибок в коде нет

Скорее всего это связано с тем, что открывается сессия или ставится кука после авторизации, т.е. одним xmlhttprequest тут не обойтись.

Можно попытаться авторизоваться через ifame, либо через IE. Через фрейм https://github.com/nervgh/vba класс HTTP
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 27.08.2013, 12:20   #3
Fordros
Пользователь
 
Регистрация: 26.06.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от nerv Посмотреть сообщение
на первый взгляд ошибок в коде нет

Скорее всего это связано с тем, что открывается сессия или ставится кука после авторизации, т.е. одним xmlhttprequest тут не обойтись.

Можно попытаться авторизоваться через ifame, либо через IE. Через фрейм https://github.com/nervgh/vba класс HTTP
Вы правы, еще раз пересмотрев фидлер (авторизация руками), заметил что изначально используется метод GET (наверное получает куку), затем через POST посылает параметр авторизации.
Значит если я получу куку, а затем передам ее через ПОСТ, то авторизация пройдет?
Как мне вытащить куку?

Последний раз редактировалось Fordros; 27.08.2013 в 12:34.
Fordros вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
httpwebrequest httpwebresponse C# qwq C# (си шарп) 35 26.12.2012 15:01
C# созранить изображение из потока (HttpWebRequest HttpWebResponse) qwq C# (си шарп) 4 09.12.2012 19:17
Проблема с обращением к другим сайтам через классы HttpWebRequest и HttpWebResponse. goodwen C# (си шарп) 0 12.12.2011 22:41
Проблема с HttpWebRequest и HttpWebResponse 3dgraph Общие вопросы .NET 2 15.07.2009 11:20
HttpWebRequest и HttpWebResponse Bbo Общие вопросы .NET 1 14.05.2009 15:51