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

これは、基本的に1行になる可能性がある多くのコードです。

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

注:私は非同期呼び出しについて心配していません-これは製品コードではありません。

回答:


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

見過ごされがちなユーティリティクラスのもう1つ- とても便利です。
Marc Gravell

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ではありません。サイトに有効な証明書がありますか?
マークグラベル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.