dotnet-httpclient相关内容
在 ASP.NET Core 2.1 应用程序中,我使用 HttpClient 发出 REST 请求.我使用 DelegatingHandler 来定义一些常见的行为.我在这里注册: private static void AddRestServiceDataClient(这个IServiceCollection服务)其中 TTypedHttpClient :类其中 TTypedHttpClie
..
我知道,在使用 Microsoft 依赖注入容器时,处理 HttpClient 实例的最佳做法是使用 IHttpClientFactory 接口 由 Microsoft.Extensions.Http nuget 包. 不幸的是实现了IHttpClientFactory 接口的类 不是公开的 (正如您可以在此处验证),因此利用此模式的唯一方法是使用 Microsoft 依赖项注入容器(至少它
..
根据 https://docs.microsoft.com/en-us/dotnet/framework/network-programming/how-to-configure-network-tracing 我们可以在 web.config 或任何其他配置文件中进行设置,我们可以获得详细的 system.net 跟踪、HttpClient 调用的数据包跟踪以及 HttpClient 中的
..
我们可以在这里阅读您使用的 HTTP 客户端有误,这正在破坏您的稳定软件我们不应该为每个http请求创建和处理HttpClient.相反,它应该被缓存和重用(例如作为 DI 容器中的单例).同样在 HttpClient: HttpClient 旨在实例化一次并在应用程序的整个生命周期中重复使用.为每个请求实例化一个 HttpClient 类将耗尽重负载下可用的套接字数量.这将导致 Socke
..
我正在尝试解析 wikispaces 页面,但无法获取实际页面.我不确定它是 HttpClient 错误还是缺少一些配置. 这是我的代码: HttpClientHandler handler = new HttpClientHandler();handler.AllowAutoRedirect = true;_httpClient = new HttpClient(handler);Htt
..
作为我正在处理的 ASP.Net Core 项目的一部分,我需要从我的 WebApi 中与许多不同的基于 Rest 的 API 端点进行通信.为了实现这一点,我使用了许多服务类,每个类都实例化一个静态 HttpClient.基本上,我为 WebApi 连接到的每个基于 Rest 的端点都有一个服务类. 下面是如何在每个服务类中实例化静态 HttpClient 的示例. 私有静态HttpCl
..
我正在开发一个应用程序,该应用程序使用 HttpClient API 向我无法控制的第三方服务发出 Web 服务请求.根据 HTTP 规范,该服务似乎使用包含无效值的 ETag HTTP 标头响应请求(该值未用引号括起来).这会导致 HttpClient 以 System.FormatException 失败. 在这种情况下,我对 ETag 标头不感兴趣,希望能够忽略无效值.是否可以使用 H
..
在我的 asp.net 核心 MVC 应用程序中,我使用 HttpClientFactory 为 API 服务器的请求创建 HttpClient 对象. 遵循 Microsoft 文档,每次调用 HttpClientFactory.CreateClient() 时都会创建新的 HttpClient 对象,因此将值设置为 HttpClient 是安全的.DefaultRequestHeader
..
我正在将 JSON 有效负载传递给 API 控制器,其中一个字段是动态的,因为该字段需要作为 JSON 字符串再次传递给另一个 API.dotnet core 3.1 中间层不应该关心打字,因为有效载荷会改变. 这是传入 API 控制器的对象: 公共类 GitHubAction{[JsonProperty("标题")]公共字符串标题{获取;放;}[JsonProperty("启用")][
..
我想为 Typed HttpClient 添加一个 HttClientHandler 以包含证书身份验证. 我在网上找到的所有例子都是这样的: services.AddHttpClient().ConfigurePrimaryHttpMessageHandler(() =>{返回新的 HttpClientHandler(){//在这里设置您需要配置的任何内容};}); 但我不想在这里包含
..
我正在尝试从 .NET Core 3.0 控制台应用程序进行 HTTP GET 调用.端点需要 Windows 身份验证.端点是 IIS 上的一个生产中的 .NET Framework 4.5.2 Web API 服务,已被多个客户端应用程序成功使用. 我的测试程序针对 net45 框架目标成功.相比之下,netcoreapp3.0 构建收到 401 Unauthorized. 这是我
..
我想使用 .NET Core 2.1 中可用的 HttpClientFactory 但我也想使用 HttpClientHandler 来利用 AutomaticDecompression创建 HttpClients 时的属性. 我很挣扎,因为 .AddHttpMessageHandler 需要一个 DelegatingHandler 而不是 HttpClientHandler. 有谁知
..
我正在尝试通过 HTTP 2.0 请求数据.我正在使用 .Net Core 2.2 中的 HttpClient.我在 Windows 10 上,但将在 Linux 上运行.问题是响应中的版本似乎总是“1.1".我做错了什么? using (var client = new HttpClient()){使用 (var request = new HttpRequestMessage(new Htt
..
我正在尝试将一些 JSON 发布到外部 API,该 API 一直失败,因为我的内容被分块.请有人告诉我如何禁用它? 我使用的是 ASP.NET 5,所以我认为我使用的是 System.Net.Http, Version=4.0.1.0 这是我试过的代码: using (var client = new HttpClient()){//TODO - 发送 HTTP 请求client.B
..
对于下面的代码,它在调用时捕获 HttpRequestException/System.Net.Http.WinHttpException 异常状态: NativeErrorCode 12175消息“发生安全错误"- e {System.Net.Http.HttpRequestException: 发送请求时出错.--->System.Net.Http.WinHttpException:发
..
我想用 Fiddler 检查 http 流量,但没有捕获任何 http 流量,我的测试代码: private static void ByRestSharp(){var restClient = new RestClient("https://jsonplaceholder.typicode.com");var request = new RestRequest("posts", Method.
..
我有一个 .NET 4.6.2 控制台应用程序(使用 Simple Injector).我需要调用 HTTP 服务.直接使用 HttpClient 遇到问题后,我正在尝试使用 HttpClientFactory ( https://github.com/aspnet/HttpClientFactory ) 代替. 项目/库是 .NET Standard 2.0 所以它应该??在 .NET 4
..
因此,我在 Startup.cs 中使用服务集合注册了一个命名客户端: services.AddHttpClient(someServiceName,客户 =>client.BaseAddress = baseAddress); 现在可以从我的服务提供商处注入一个 IHttpClientFactory. 使用这个 IHttpClientFactory,我想出了一个客户端实例: var
..
我正在尝试使用 .NET Core 并构建一个利用支付 API 的 API.有一个客户端证书需要添加到双向 SSL 身份验证的请求中.如何在 .NET Core 中使用 HttpClient 实现这一点? 我查看了各种文章,发现 HttpClientHandler 没有提供任何添加客户端证书的选项. 解决方案 像这样在 Main() 中进行所有配置: public static v
..
我正在开发一个 ASP.NET Core 5.0 项目,该项目具有访问 API 的服务.根据下面的代码,我希望提供给 ToornamentService 的构造函数的 HttpClient 包含声明的 BaseAddress 和 API 密钥标头. 然而,在调试时,我注意到 HttpClient 从来没有这些.BaseAdress 为空,并且缺少标头.我曾尝试使用 IHttpClientFa
..