[c#] C #에서 system.net.webrequest를 사용하여 JSON 응답을 얻는 방법은 무엇입니까?

외부 도메인에서 json 데이터를 가져와야합니다. 웹 요청을 사용하여 웹 사이트에서 응답을 얻었습니다. 코드는 다음과 같습니다.

var request = WebRequest.Create(url);
string text;
var response = (HttpWebResponse) request.GetResponse();

using (var sr = new StreamReader(response.GetResponseStream()))
{
    text = sr.ReadToEnd();
}

누구든지 내가 json 데이터를 얻을 수없는 이유를 알고 있습니까?



답변

콘텐츠 유형을 명시 적으로 요청해야합니다.

다음 줄을 추가하십시오.

 request.ContentType = "application/json; charset=utf-8";

적절한 장소에서


답변

일부 API 는 원하는 응답 유형을 가져 오기 위해 요청에 적절한 “Accept”헤더 를 제공하기를 원합니다.

예를 들어 API가 XML 및 JSON으로 데이터를 반환 할 수 있고 JSON 결과를 원하는 경우 HttpWebRequest.Accept속성을 “application / json” 으로 설정해야합니다 .

HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestUri);
httpWebRequest.Method = WebRequestMethods.Http.Get;
httpWebRequest.Accept = "application/json";


답변