Bir URL'den .NET'te bir dizeye okumanın en kolay yolu


109

Bir dizede bir URL verildiğinde:

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

Dosyanın içeriğini sunucudan (url ile gösterilen) C # 'da bir dizeye indirmenin en kolay / en kısa yolu nedir?

Şu anda bunu yapma şeklim:

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();

Bu, aslında tek satır olabilecek çok fazla koddur:

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

Not: Eşzamansız aramalar konusunda endişelenmiyorum - bu üretim kodu değil.

Yanıtlar:


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

Sıklıkla gözden kaçan hizmet sınıflarından bir diğeri - ama çok kullanışlı.
Marc Gravell

2
Bir try catchşeylerin ters
gitme

@DanW evet öyle, sadece test ettim (ile string s = client.DownloadString("/programming/1048199/easiest-way-to-read-from-a-url-into-a-string-in-net/1048204");) - kesinlikle iyi çalışıyor. Her ne oluyorsa: acil sorun https değil. Sitenin geçerli bir sertifikası olduğundan emin misiniz?
Marc Gravell
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.