Как получить источник веб-страницы в ASP.NET C #?
-
10-07-2019 - |
Вопрос
Как я могу получить HTML-код страницы в C # ASP.NET?
Пример: http://google.com
Как я могу получить этот HTML-код с помощью ASP.NET C #?
Решение
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;
}
}
Другие советы
Пример MStt для HttpWebrequest.GetResponse имеет рабочий код.
http://msdn.microsoft.com /en-us/library/system.net.httpwebrequest.getresponse.aspx р>
Если вопрос "Как получить файл с выделенным кодом веб-страницы", ответ - нет.
Если вы планируете выполнять множество веб-запросов для доступа к службам RESTful, будьте осторожны с объектом HttpWebRequest
. Требуется время для восстановления, и если у вас достаточно трафика (всего несколько звонков в минуту), вы можете начать странное поведение.
Если вы загружаете другие страницы динамически, я бы рекомендовал делать это на JavaScript.