|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.07.2011, 21:05 | #1 |
Новичок
Джуниор
Регистрация: 21.07.2011
Сообщений: 1
|
Post авторизация
На сайте реализована авторизация через метод POST. Пишу программу, чтобы она могла авторизоваться на сайте и смотреть личные данные/сообщения клиента, который пользуется данной программой (скажу сразу, никаких взломов). Перечитал пол инета, вроде что то нашёл:
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(" http://site.info/component/comprofiler/login.html"); // Разрешаем авторедирект httpWebRequest.AllowAutoRedirect = false; // Создаем для запроса новый контейнер для хранения сессий httpWebRequest.CookieContainer = new CookieContainer(); // Следующие строки итак понятны httpWebRequest.Method = "POST"; httpWebRequest.ContentType = "application/x-www-form-urlencoded"; // Перед тем как заполнять поля формы, текст запроса конвертируем в байты byte[] ByteQuery = System.Text.Encoding.ASCII.GetBytes ("username=user&passwd=qwer"); // Длинна запроса (обязательный параметр) httpWebRequest.ContentLength = ByteQuery.Length; // Открываем поток для записи Stream QueryStream = httpWebRequest.GetRequestStream(); // Записываем в поток (это и есть POST запрос(заполнение форм)) QueryStream.Write(ByteQuery, 0, ByteQuery.Length); // Закрываем поток QueryStream.Close(); // Объект с ответом сервера HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.Get Response(); // Присваиваем сессию httpWebResponse.Cookies = httpWebRequest.CookieContainer.GetC ookies(httpWebRequest.RequestUri); if (httpWebResponse.Cookies != null) { // Добавляем сессию в наш контейнер для дальнейшего использования Cooks.Add(httpWebResponse.Cookies); } // Открываем поток для чтения Stream stream = httpWebResponse.GetResponseStream() ; // Читаем из потока StreamReader reader = new StreamReader(stream); // Возвращаем результат запроса return reader.ReadToEnd(); Пишу всё это в переменную, смотрю её, в ней написано "Сессия истекла или в Вашем браузере отключены куки. Пожалуйста, обновите страницу, перед ее заполнением. " Либо я как то неправильно интерпретировал полученный результат, либо где-то закрался epic fail. Прошу помощи, голова уже не соображает... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Авторизация на UCOZ с idHTTP.Post | Stalkker247 | Работа с сетью в Delphi | 15 | 14.03.2012 13:34 |
Post | Aleksandr69 | Общие вопросы Delphi | 0 | 30.03.2011 15:44 |
Обычная авторизация или авторизация на уровне браузера? | calugin | Безопасность, Шифрование | 0 | 13.01.2011 00:34 |
Хитрая авторизация на сайте метод post | OkeaH | Работа с сетью в Delphi | 8 | 27.02.2009 19:49 |