Cara termudah untuk membaca dari URL menjadi string di .NET


109

Diberikan URL dalam string:

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

Apa cara termudah / paling ringkas untuk mengunduh konten file dari server (ditunjukkan oleh url) ke dalam string di C #?

Cara saya melakukannya saat ini adalah:

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

Itu banyak kode yang pada dasarnya bisa menjadi satu baris:

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

Catatan: Saya tidak khawatir tentang panggilan asinkron - ini bukan kode produksi.

Jawaban:


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

Salah satu kelas utilitas yang sering diabaikan - tetapi sangat berguna.
Marc Gravell

2
Ingatlah bahwa Anda juga harus memasukkannya ke dalam try catchblok, jika terjadi
kesalahan

@DanW ya, saya baru saja mengujinya (dengan string s = client.DownloadString("/programming/1048199/easiest-way-to-read-from-a-url-into-a-string-in-net/1048204");) - berfungsi dengan baik. Apa pun yang terjadi: bukan https yang menjadi masalah langsung. Apakah Anda yakin situs tersebut memiliki sertifikat yang valid?
Marc Gravell
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.