当前位置: 首页 > 知识库问答 >
问题:

如何使用HTTPclient Get方法从响应体读取数据?

葛兴发
2023-03-14

我尝试过,但不知道如何从API响应中读取数据。我能够获得200个状态代码,但我不知道如何获得实际数据。我正在尝试从WiThings API获取数据(http://developer.withings.com/oauth2/#tag/measure/paths/https:~1~1wbsapi.withings.net~1量?action=getmeas/get)

以下是我得到的回复:

状态代码:200,原因短语:“确定”,版本:1.1,内容:系统。网Http。StreamContent,标头:{访问控制允许来源:*访问控制允许方法:GET,POST,OPTIONS访问控制允许标头:内容类型,*日期:2019年6月10日星期一11:51:03 GMT服务器:Apache内容长度:65内容类型:文本/普通;字符集=UTF-8

以下是我的代码:

        string accessToken = "my_accessToken";
        HttpClient  client = new HttpClient();
        var url = "https://wbsapi.withings.net/measure?action=getmeas&meastype=1&category=1&startdate=737060&enddate=737179&offset=0";
        client.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);
        var response = await client.GetAsync(url);
        string content1 = await response.Content.ReadAsStringAsync();
        string content2 = response.Content.ReadAsStringAsync().Result;

上面我添加了一个关于威盛应用编程接口的链接。有人指导如何从响应体获取数据吗?

共有1个答案

苍阳成
2023-03-14

问题现已解决。问题是API不支持TLS1,当我将安全协议设置为Tls12时,它可以工作。下面是我使用的代码。

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

感谢大家。

 类似资料:
  • 我创建了一个反向代理,如下所示: 并从main调用它: 它在客户端可以正常工作,但是我想阅读代理的响应,我怎么做?

  • 显然,是一种新的建议的HTTP请求方式,所以我尝试使用它向美味的API发出请求,它返回一个XML响应。我得到的是: 但是,它会在位上引发异常, 其他信息:无法加载文件或程序集“NewtonSoft.json,Version=4.5.0.0,Culture=Neutral,PublicKeyToken=30AD4FE6B2A6AEED”或其依赖项之一.系统找不到指定的文件。 也许我错过了一些集会,但

  • 问题内容: 反向代理是可行的。如何获得响应主体? 问题答案: 有一个领域。您可以使用它来修改响应。例如: 整个场景的操场示例:http : //play.golang.org/p/b0S5CbCMrI。

  • 问题内容: 我在andorid中制作了一些代理服务器来修改http标头,它可以正常工作,但是我必须将完整的响应转发到“顶层”。 如何从HttpURLConnection读取整个响应(所有标头,内容,所有内容)? 在getInputStream中,我仅收到内容,是否有可能包含某些内容? 问题答案: 无法直接使用来转储完整的HTTP响应,但是您可以使用其各种方法来重构它。例如, 版画 然后,您可以获取

  • 我正在尝试从json的响应中获取正文并打印这个json或能够将他放入数组。我在堆栈上找到了这篇文章:如何从http.Get获得JSON响应。有代码: 但是我不明白为什么会有“Decode(target)”和“target interface{}”。它是做什么的?为什么当我试着打印json时?NewDecoder(r.Body)没有什么有意义的。

  • 我正在编写一些中间件,我需要能够记录响应主体内容,即使目标使用TLS加密。 我有一个处理程序链,在其中我将响应体存储在中间缓冲区中,这样我就可以多次读取它。这是基于icza(Golang读取请求体)提供的优秀示例。 在我的handler func中,我正在这样做。。。。 我发现,当连接到不使用TLS的目的地时,我得到了可读的输出,但是当连接到使用TLS的目的地时,响应主体似乎仍然是加密的,尽管复制