Как получить источник веб-страницы в ASP.NET C #? - PullRequest
4 голосов
/ 30 ноября 2009

Как я могу получить HTML-код страницы в C # ASP.NET?

Пример: http://google.com

Как мне получить этот HTML-код с помощью ASP.NET C #?

Ответы [ 4 ]

17 голосов
/ 30 ноября 2009

Класс WebClient будет делать то, что вы хотите:

string address = "http://stackoverflow.com/";   

using (WebClient wc = new WebClient())
{
    string content = wc.DownloadString(address);
}

Как уже упоминалось в комментариях, вы можете предпочесть использовать асинхронную версию DownloadString, чтобы избежать блокировки:

string address = "http://stackoverflow.com/";

using (WebClient wc = new WebClient())
{
    wc.DownloadStringCompleted +=
        new DownloadStringCompletedEventHandler(DownloadCompleted);
    wc.DownloadStringAsync(new Uri(address));
}

// ...

void DownloadCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    if ((e.Error == null) && !e.Cancelled)
    {
        string content = e.Result;
    }
}
1 голос
/ 30 ноября 2009

Пример HttpWebrequest в MSDN.GetResponse имеет рабочий код.

http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse.aspx

0 голосов
/ 30 ноября 2009

Если вы планируете выполнять множество веб-запросов для доступа к службам RESTful, будьте осторожны с объектом HttpWebRequest. Для восстановления требуется некоторое время, и если у вас достаточно трафика (всего несколько звонков в минуту), вы можете начать странное поведение.

Если вы загружаете другие страницы динамически, я бы рекомендовал делать это на JavaScript.

0 голосов
/ 30 ноября 2009

Если вопрос «Как получить файл с выделенным кодом веб-страницы», ответ - нет.

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