ASP.NET Agility Pack | Как разобрать веб-страницу. что принимает параметры сообщения? - PullRequest
4 голосов
/ 12 ноября 2010

Я хочу проанализировать и страницу, которая принимает параметры POST. как это мой сценарий. Я должен разобрать некоторые результаты поиска. но параметры поиска отправляются в теле сообщения на эту страницу.

Чтобы разобрать результаты поиска, я должен отправить параметры на эту страницу в POST. Как я могу сделать это с пакетом Agility?

пожалуйста, помогите мне.

Ответы [ 3 ]

2 голосов
/ 14 декабря 2010

Да, возможно, вы можете опубликовать параметры, используя HTML Agility Pack.Посмотрите на приведенный ниже код.

BrowserSession b = new BrowserSession();
b.Get("http://www.skyline-eng.com/");
b.FormElements["navigationTypeID"] = rblCategory.SelectedItem.Value;
b.FormElements["navigationSeriesID"] = boxItem.Value;
HtmlDocument docSkyLine = b.Post("http://www.skyline-eng.com/");

Здесь navigationTypeID и navigationSeriesID являются параметрами публикации.Используйте вот так и продолжайте анализ данных, используя отличный инструмент HTMLAgility Pack.

0 голосов
/ 12 ноября 2010

Используйте WebClient, чтобы публикация отправляла все параметры, необходимые для страницы поиска.Применимый пакет Html Agility, вы можете проанализировать возвращенный html.

У WebClient будет html, который был возвращен результатом страницы поиска.1007 * В вашем случае строковая переменная formparameters должна содержать параметры запроса, необходимые для вашей страницы поиска.Затем эти параметры будут отправлены на вашу страницу поиска в виде метода HTTP «POST».Конечно, URL-адрес также должен быть изменен на ваш.

0 голосов
/ 12 ноября 2010

Я не думаю, что это то, для чего предназначен пакет agility для HTML. Это не пакет гибкости HTTP, он не анализирует HTTP-запрос. Он просто анализирует вывод HTML (т.е. ответы, а не запросы).

Вы можете получить доступ к параметрам POST, полученным страницей, используя словарь Page.Request[<param>] в коде этой страницы.

Если это не то, что вы пытаетесь сделать, не могли бы вы уточнить?

...