在.NET中从URL读入字符串的最简单方法


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

注意:我不担心异步调用-这不是生产代码。

Answers:


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

这些经常被忽视的实用程序类中的另一个- 如此有用。
马克·格拉韦尔

2
请记住,您也应该将其放在一个try catch块中,以防万一出现问题
mikeyq6

@DanW是的,我刚刚(使用string s = client.DownloadString("/programming/1048199/easiest-way-to-read-from-a-url-into-a-string-in-net/1048204");)对其进行了测试-绝对可以正常工作。不管发生什么:不是https才是直接的问题。您确定站点具有有效证书吗?
Marc Gravell
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.