Можно ли программно войти на сайт с C #? - PullRequest
5 голосов
/ 09 января 2010

Можно ли написать программу на C #, которая будет загружать веб-страницу, передавать параметры веб-формы для входа в систему, затем нажимать на ссылку и загружать информацию о странице? Очевидно, я бы поставил имя пользователя и пароль.

В контексте, скажем, я хочу проверить, есть ли какие-либо новые обновления новостей в моей школьной учетной записи, к которым я должен войти, используя свое школьное имя пользователя / пароль. Могу ли я предоставить своей программе нужную информацию и каким-то образом заставить ее передать эти параметры в веб-форму и продолжить работу по странице?

Ответы [ 4 ]

8 голосов
/ 09 января 2010

Да, можно программно войти на сайт.

Вы должны знать, как ваш школьный веб-сайт обрабатывает логины. Скажем, обработчик входа в систему вашего школьного сайта - это некий Login.aspx, и он принимает имя пользователя и пароль как POST, тогда вам нужно отправить запрос POST из вашей программы, используя WebRequest , добавив ваше имя пользователя и пароль в качестве переменных POST по вашему запросу.

Надеюсь, это поможет.

5 голосов
/ 09 января 2010

Если на странице входа используется HTTP-аутентификация (в вашем браузере отображается запрос имени пользователя / пароля), вы можете отправить его по URL-адресу следующим образом:

http://username:password@www.myschool.com/

WebRequest также позволяет вам установить его свойство Credentials и так же использовать имя пользователя и пароль.

2 голосов
/ 09 января 2010

Используйте класс WebRequest для отправки формы

Пример: http://msdn.microsoft.com/en-us/library/debx8sh9.aspx

1 голос
/ 09 января 2010

Альтернативным подходом к использованию класса WebRequest является элемент управления WebBrowser. По сути, это «панель» Internet Explorer, которой вы можете управлять как программно, так и посредством взаимодействия с пользователем. API элемента управления может быть немного сложнее в использовании, но он дает вам доступ к DOM загруженной страницы, которой затем можно манипулировать с помощью кода. Это может быть удобно иногда. Я сам использовал это в паре веб-приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...