Программный вход на форум phpBB через C#

Я работаю над приложением C#, которому необходимо очистить некоторые данные с форума phpBB. Для очистки форума требуется вход в систему. Приложение предложит пользователю ввести свои учетные данные для подключения.

Раньше я очищал веб-сайты с помощью C#, но я не уверен, как это сделать, так это войти в phpBB и сохранить сеанс открытым во время очистки экрана. Я сделал некоторые поиски и не повезло. Есть ли хороший способ программно сделать что-то подобное?


person Tyler Treat    schedule 14.06.2011    source источник


Ответы (4)


Вы не говорите, что вы пробовали, но если вы использовали объект HttpWebRequest для получения страниц и/или входа в систему, вам необходимо назначить новую коллекцию CookieContainer для HttpWebRequest для хранения любых файлов cookie, возвращаемых веб-сайтом. Поделитесь этим среди объектов HttpWebRequest, чтобы оставаться в системе

person Martin Booth    schedule 14.06.2011

найдите имена полей имени пользователя и пароля, используя Firebug или Chrome (или даже View Source), а затем используйте мой ответ здесь: Программный вход на сайт с заменой 'session_key' и 'session_password' соответствующим образом. это должно работать.

а затем перевести на С#!

person jcomeau_ictx    schedule 14.06.2011

Я бы рекомендовал использовать WatiN API для очистки экрана. Я сделал очистку экрана с помощью этого API, и он хорошо работает. Посмотрите!

person Bibhu    schedule 14.06.2011
comment
WatiN — это среда тестирования, которая открывает браузер и выполняет команды. Автоматизация функциональности браузера — это не то, что мне нужно. - person Tyler Treat; 14.06.2011

Я рекомендую использовать HTML Agility Pack.

person Richard Schneider    schedule 14.06.2011
comment
Я планирую использовать HTML Agility Pack для извлечения и анализа содержимого, но как это поможет мне войти на форум? - person Tyler Treat; 14.06.2011
comment
Вы можете использовать NetworkCredential для указания имени пользователя/пароля при загрузке документа. См. htmlagilitypack.codeplex.com/discussions/207254. - person Richard Schneider; 14.06.2011
comment
NetworkCredential не принесет вам никакой пользы — система входа в систему осуществляется через POST и HTML, а не через HTTP 401. - person Jeff Hubbard; 14.06.2011
comment
@Jeff: примерно так я и думал, если только я что-то не упустил. - person Tyler Treat; 14.06.2011