С#: чтение html источника веб-страницы в строку

Я хотел бы иметь возможность читать html-источник определенной веб-страницы в строке в С# с помощью winforms

как это сделать?

Ответ 1

string html = new WebClient().DownloadString("http://twitter.com");

И теперь, когда асинхронная/ожидающая горячность в С# 5

string html = await new WebClient().DownloadStringTaskAsync("http://github.com");

Ответ 2

Посмотрите WebClient.DownloadString:

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

Вы можете использовать WebClient.DownloadStringAsync или BackgroundWorker загрузить файл без блокировки пользовательского интерфейса.

Ответ 3

var req = WebRequest.Create("http://www.dannythorpe.com");
req.BeginGetResponse(r =>
{
    var response = req.EndGetResponse(r);
    var stream = response.GetResponseStream();
    var reader = new StreamReader(stream, true);
    var str = reader.ReadToEnd();
    Console.WriteLine(str);
}, null);