Найпростіший спосіб зчитувати з URL-адреси в рядок в .NET


109

Введено URL-адресу в рядку:

http://www.example.com/test.xml

Який найпростіший / найкоротший спосіб завантажити вміст файлу з сервера (на який вказує URL) у рядок на C #?

Я зараз це роблю:

WebRequest request = WebRequest.Create("http://www.example.com/test.xml");
WebResponse response = request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();

Це багато коду, який по суті може бути одним рядком:

string responseFromServer = ????.GetStringFromUrl("http://www.example.com/test.xml");

Примітка. Я не переживаю за асинхронні дзвінки - це не виробничий код.

Відповіді:


269
using(WebClient client = new WebClient()) {
   string s = client.DownloadString(url);
}

Ще один із тих часто завищених класів утиліт - але такий корисний.
Марк Гравелл

2
Майте на увазі, що вам слід вкласти це також у try catchблок, якщо щось не
збиється

@DanW так, це так, я тільки тестував це (з string s = client.DownloadString("/programming/1048199/easiest-way-to-read-from-a-url-into-a-string-in-net/1048204");) - працює абсолютно чудово. Що б не відбувалося: це не https, що є безпосередньою проблемою. Ви впевнені, що на сайті є дійсний сертифікат?
Марк Гравелл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.