如何获得使用system.net.webrequest在C#中的JSON响应?
我需要从外部域获取json数据。 我使用webrequest从网站获得响应。 代码如下:
var request = WebRequest.Create(url); string text; var response = (HttpWebResponse) request.GetResponse(); using (var sr = new StreamReader(response.GetResponseStream())) { text = sr.ReadToEnd(); }
任何人都知道为什么我不能得到JSON数据?
您需要明确要求内容types。
添加这一行:
request.ContentType = "application/json; charset=utf-8";
在适当的地方
有些API希望您在请求中提供适当的“Accept”头以获得所需的响应types。
例如,如果一个API可以以XML和JSON格式返回数据,并且您想要JSON结果,则需要将HttpWebRequest.Accept
属性设置为“application / json” 。
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestUri); httpWebRequest.Method = WebRequestMethods.Http.Get; httpWebRequest.Accept = "application/json";