Действительно ли возможно записать программу C#, которая загрузит веб-страницу, передаст параметры веб-формы, чтобы войти в систему, затем нажмет на ссылку и загрузить информацию о странице? Очевидно, я предоставил бы имя пользователя и пароль.
В контексте скажем, я хочу проверить, существуют ли какие-либо новые обновления новостей на моей школьной учетной записи, в которую я должен войти с моим школьным именем пользователя/паролем. Я мог предоставить свою программу желаемую информацию и так или иначе заставить ее передавать эти параметры веб-форме и продолжаться вдоль страницы?
Да, можно программно войти на сайт.
Вам нужно знать, как ваш школьный сайт обрабатывает логины. Скажем, обработчик входа на ваш школьный сайт это какой-то Login.aspx, и он принимает имя пользователя и пароль в качестве POST, затем вам нужно отправить POST-запрос из вашей программы, используя WebRequest, добавив ваше имя пользователя и пароль в качестве POST-переменных к вашему запросу.
Надеюсь, это поможет.
Если страница входа использует HTTP-аутентификацию (ваш браузер отображает приглашение на ввод имени пользователя/пароля), то вы можете отправить его по URL следующим образом:
http://username:password@www.myschool.com/
WebRequest также позволяет установить свойство Credentials и использовать имя пользователя и пароль таким же образом.
Используйте класс WebRequest для публикации формы
Пример: http://msdn.microsoft.com/en-us/library /debx8sh9.aspx
Альтернативой использованию класса WebRequest
является управление WebBrowser
. По сути, это "панель" Internet Explorer, которой можно управлять как программно, так и через взаимодействие с пользователем. API элемента управления может быть немного хитрым в использовании, но он действительно дает доступ к DOM загруженной страницы, с которой можно манипулировать с помощью кода. Иногда это может быть удобно. Я сам использовал его в паре веб-приложений.