views:

165

answers:

2

Given a URL in a string:

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

What's the easiest/most succinct way to download the contents of the file from the server (pointed to by the url) into a string in C#?

The way I'm doing it at the moment is:

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

That's a lot of code that could essentially be one line:

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

Note:

  • I know I can wrap it - I just thing there's probably an easier way
  • I'm not worried about asynchronous calls - this is not production code.
+15  A: 
 using(WebClient client = new WebClient()) {
    string s = client.DownloadString(url);
 }
Marc Gravell
You beauty. Exactly what I was looking for!
rein
Another one of those often-overlooked utility classes - but **so** useful.
Marc Gravell
A: 

Hi, I did not understand. String from URL. Can't we use url.ToString()??? Just asking.

Ganesh R.
I'll rephrase the question to: content of url to string.
rein