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

참고 : 저는 비동기 호출에 대해 걱정하지 않습니다. 이것은 프로덕션 코드가 아닙니다.

답변:


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

자주 간과되는 유틸리티 클래스 중 하나이지만 매우 유용합니다.
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가 아닙니다. 사이트에 유효한 인증서가 있습니까?
Marc Gravell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.