首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在c#中使用system.net.webrequest获取json响应?

如何在c#中使用system.net.webrequest获取json响应?
EN

Stack Overflow用户
提问于 2010-01-21 18:09:06
回答 2查看 153.5K关注 0票数 83

我需要从外部域获取json数据。

我使用WebRequest从一个网站获取响应。

代码如下:

代码语言:javascript
复制
var request = WebRequest.Create(url);
string text;
var response = (HttpWebResponse) request.GetResponse();

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

有人知道为什么我拿不到json数据吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-17 02:42:30

您需要显式地询问内容类型。

添加下面这行:

代码语言:javascript
复制
 request.ContentType = "application/json; charset=utf-8";

在适当的地方

票数 70
EN

Stack Overflow用户

发布于 2011-03-05 02:06:59

有些API希望您在请求中提供适当的"Accept“头,以获得所需的响应类型。

例如,如果应用编程接口可以返回XML和JSON格式的数据,而您希望返回JSON结果,则需要将HttpWebRequest.Accept属性设置为"application/json".

代码语言:javascript
复制
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestUri);
httpWebRequest.Method = WebRequestMethods.Http.Get;
httpWebRequest.Accept = "application/json";
票数 74
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2108297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档