41得票4回答
如何从HttpResponseMessage中读取cookies?

这是我的最新代码:HttpClient authClient = new HttpClient(); authClient.BaseAddress = new Uri("http://localhost:4999/test_db/_session"); authClient.DefaultRe...

40得票2回答
请求消息已经发送。无法多次发送相同的请求消息。

这里的代码有什么问题吗?我一直收到这个错误: System.InvalidOperationException:请求消息已经发送。无法多次发送相同的请求消息。 我的HttpRequestMessage在一个Func内,所以我想每次传递func()时都会得到一个全新的请求。publi...

39得票2回答
System.Net.Http.HttpClient与Windows.Web.Http.HttpClient - 主要区别是什么?

在为 Windows 开发 .NET 4.5 桌面应用程序时,我通常使用 System.Net.Http.HttpClient 与后端 Web API 进行通信。现在我正在开发一个 Windows Store 应用程序,并注意到存在 Windows.Web.Http.HttpClient。我已...

39得票6回答
HttpClient获取所有头信息

目前,我正在开发 API 封装。如果我发送错误的 Consumer Key,服务器将在标头中返回Status为 403 Forbidden。它还将传递自定义标头。那么我该如何获取这些自定义标头呢? 这就是从服务器接收到的响应。Cache-Control: private Date: Wed,...

38得票2回答
C# HttpClient在测试某些URL时抛出“发送请求时发生错误”的异常

我正在开发一个用于测试URL是否有效或可用的C#控制台应用程序。对于大多数URL,它可以从目标网站获得响应和HTTP状态码。但是,在测试某些其他URL时,当运行HttpClient.SendAsync方法时,该应用程序会抛出“发送请求时发生错误”的异常。因此,即使在浏览器中实际上可以使用该UR...

35得票3回答
取消 HttpClient 请求 - 为什么 TaskCanceledException.CancellationToken.IsCancellationRequested 是 false?

考虑以下代码:var cts = new CancellationTokenSource(); try { // get a "hot" task var task = new HttpClient().GetAsync("http://www.google.com", c...

35得票2回答
使用HttpClient.GetFromJsonAsync(),如何在不进行额外的SendAsync调用的情况下处理基于HttpStatusCode的HttpRequestException?

System.Net.Http.Json的HttpClient扩展方法,如GetFromJsonAsync(),极大地简化了从Web API检索JSON对象的常规代码。使用它非常愉快。 但是,由于它设计的方式(直接返回反序列化对象),它不会产生任何HttpResponseMessage来进行检...

35得票2回答
如何使用IHttpClientFactory刷新token

我正在使用IHttpClientFactory通过Net Core 2.2向两个外部API发送请求并接收HTTP响应。 我正在寻找一种好的策略,使用存储在appsettings.json中的刷新令牌来获取新的访问令牌。当当前请求返回403或401错误时,需要请求新的访问令牌。当获取到新的访问...

34得票3回答
如果我等待了正在执行ReadAsStringAsync()的响应,那么是否应该等待ReadAsStringAsync()呢?

如果我在等待执行ReadAsStringAsync()的响应时awaited,那么我是否应该再次awaitReadAsStringAsync()?更进一步澄清,以下两种方式之间的区别或正确的方式是什么?它们是否有效地相同? var response = await httpClient.Ge...

34得票5回答
重新发送HttpRequestMessage - 异常

我想发送完全相同的请求多次,例如:HttpClient client = new HttpClient(); HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Get, "http://example.com&quo...