Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с сетью и HTTP-аутентификация 
:(
    Опции темы
AztEK
Дата 16.3.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: нет
Всего: 18



Здравствуйте!
Я хочу написать софтинку, делающее следующее: обращается к сайту, вводит логин/пароль, используя HTTP-аутентификацию и выдирает из полученного кода страницы некую строку.
Помогите пожалуйста со следующими моментами:
1) Самое главное, как подключиться к серверу, отправить HTTP-заголовки и получить содержимое страницы?
2) Есть ли в C# средства для HTTP-аутентификации? Механизм я представляю, но я не знаю алгоритм, который используется при шифрования логина/пароля.

Заранее благодарен.


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
Tectoder
Дата 16.3.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 202
Регистрация: 13.3.2007

Репутация: нет
Всего: 8



AztEK, какой тип http-аутентификации используется на сайте?

Цитата(AztEK @  16.3.2007,  16:55 Найти цитируемый пост)
Самое главное, как подключиться к серверу, отправить HTTP-заголовки и получить содержимое страницы?
Используйте объекты WebRequest или как более легкий вариант WebClient

Это сообщение отредактировал(а) Tectoder - 16.3.2007, 17:13
PM   Вверх
AztEK
Дата 16.3.2007, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: нет
Всего: 18



Цитата(Tectoder @  16.3.2007,  20:12 Найти цитируемый пост)
какой тип http-аутентификации используется на сайте?

честно говоря, не знаю. это страница биллинга, система LanStatistic вроде бы...


Цитата(Tectoder @  16.3.2007,  20:12 Найти цитируемый пост)
Используйте объекты WebRequest или как более легкий вариант WebClient

спасибо за наводку, буду пробовать


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
AztEK
Дата 16.3.2007, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: нет
Всего: 18



Столкнулся с проблемой: когда у объекта WebResponse вызывается GetResponse(), возникает ошибка, потому что сервер возвращает статус-код 401 (Not Authorized) Но он и должен его возвратить, поскольку аутентификация, как я выяснил, идет не только, используя HTTP, но и через динамически меняющиеся значения в куках. Т.е. самый первый запрос ДОЛЖЕН выдать ошибку 401 и передать в заголовке ответа куку, которую надо заюзать при следующем обращении.

Вопрос в следующем: как обойти такую ошибку и получить заголовки?


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
Tectoder
Дата 16.3.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 202
Регистрация: 13.3.2007

Репутация: нет
Всего: 8



Цитата(AztEK @  16.3.2007,  19:46 Найти цитируемый пост)
честно говоря, не знаю. это страница биллинга, система LanStatistic вроде бы...
Тогда дай ссылку на страницу.
PM   Вверх
AztEK
Дата 16.3.2007, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: нет
Всего: 18



Цитата(Tectoder @  17.3.2007,  00:00 Найти цитируемый пост)
Тогда дай ссылку на страницу. 

не могу, он же внутри локальной сети

Добавлено @ 21:02 
С авторизацией я вроде разобрался, свойство Credentials класса WebRequest - оно?


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
mr.DUDA
Дата 17.3.2007, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(AztEK @  16.3.2007,  20:01 Найти цитируемый пост)
С авторизацией я вроде разобрался, свойство Credentials класса WebRequest - оно?

оно


--------------------
user posted image
PM MAIL WWW   Вверх
AztEK
Дата 18.3.2007, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: нет
Всего: 18



Цитата(AztEK @  16.3.2007,  23:39 Найти цитируемый пост)
Столкнулся с проблемой: когда у объекта WebResponse вызывается GetResponse(), возникает ошибка, потому что сервер возвращает статус-код 401 (Not Authorized) Но он и должен его возвратить, поскольку аутентификация, как я выяснил, идет не только, используя HTTP, но и через динамически меняющиеся значения в куках. Т.е. самый первый запрос ДОЛЖЕН выдать ошибку 401 и передать в заголовке ответа куку, которую надо заюзать при следующем обращении.

Та же ситуация при использовании System.Net.Sockets.Socket + System.IO.Stream. :(
Можете что-нибудь посоветовать?


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1157 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.