Образовалась в процессе работы следующая задача:
есть внутренний сайт. В течении рабочего дня, сотрудники, обрабатывая информацию, генерируют файлы, которые, через ссылки доступны для скачивания.
Так вот, с помощью приложения, нужно заходить на этот сайт и, разбирая странички — скачивать эти файлики.
Парсинг хтмл — это дело не хитрое, но есть вопрос, к которому не знаю, с какой стороны подойти — это авторизация. Т.е. чтобы дойти до нужных страниц, предварительно необходимо пройти процедуру авторизации на сайте. Авторизация делается через обыкновенную форму, внутри сессии.
Подскажите, как можно из приложения авторизоваться на сайте?
Буду краток: HttpClient — нужно просто передать правильные параметры в HTTP-запросе и сохранять куки. Куки вроде сам HTTPClient сохраняет. Могу кодом на Groovy поделиться — авторизации по https в Outlook Web Access.
[skipped]
для начала надо выяснить как происходит сама авторизация. Общего ответа тут нет. Бывает двухфакторная например с использованием смарткарт всяких. А бывает проще. Выяснить как происходит и тогда уже предметно обсудим.
Здравствуйте, xff, Вы писали:
xff> Авторизация делается через обыкновенную форму, внутри сессии.
Это называется аутентификация.
xff>Подскажите, как можно из приложения авторизоваться на сайте?
Пройти аутентификацию, ты хотел сказать.
Присоединяюсь к совету заюзать HttpClient. Смотришь какие запросы шлет браузер и повторяешь. Со своим сайтом никаких проблем быть не должно.
Здравствуйте, LeonidV, Вы писали:
LV>Из первого сообщения. >> Авторизация делается через обыкновенную форму, внутри сессии.
А ну понятно. Для меня тем не менее способ отсылки креденшелов через форму не описывает нижележащего способа авторизации. И в случае двух факторной авторизации с помощью смарт карты даныне тоже шлются через "обычную форму". Это не выдумки мои. Сессия — способ хранения инфы о пользователе на сервере. Формы — способ посылки информации серверу. Вместе эти два понятия не отвечают однозначно на вопрос какой способ используется для аутентификации/авторизации. Я делал например посылку посылку серийного номера сертификата, на сервер, затем прием зашифрованного на нем верктора и расшифровку на ключе забинденном с сертификатом. А потом использование ключа в работе с трафиком. Тоже форма, тоже сессия. Через форму что угодо можно передать. А в сессии сохранить. Вобщем ясно все.