问题标签 [httpclienthandler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Xamarin.Forms:默认而不是 AndroidClientHandler 作为 HttpClient 实现
我在现有的Xamarin.Forms 应用程序上工作,我们需要将API 调用集成到外部提供程序。
为此,我们使用我客户的自定义 HttpClient 库。
到目前为止,Android HttpClient设置为AndroidClientHandler
.
但是在对提供者的 API 进行基本调用后,我们会得到一个“ 400 - bad request ”的答案:
如果我们将Android HttpClient设置为default
,一切正常。
但似乎使用 AndroidClientHandler 是更好的选择。那么,您对调查和确定与 AndroidClientHandler 相关的问题有什么建议吗?
httpclient - dotnet 5 如何在 HttpClient 中使用 Windows 身份验证凭据
.net 5 中没有发生在 .net core 3.1 中的问题 Windows 身份验证未传递给 HttpClient
在 .net core 3.1 上工作的相同代码:
c# - 使用 httpclientfactory 而不是 httpclient。还有在使用 httpclientfactory 时如何使用 httpclienthandler
需要使用 httpclientfactory 的等效代码
c# - c# 将 CookieContainer 添加到 HttpClientHandler
我有以下用 c# 编写的函数:
其中 cookie 直接添加到标题中。现在我试图将其拆分以将其添加到 CookieContainer 中。源代码如下所示:
第一个函数将返回状态“OK”。第二个函数将返回状态“未授权”。
是什么导致了这个问题?我是否设置了 CookieContainer 错误?
c# - 多个 HttpClientHandler 实例超时错误
我们编写了一个与外部 API 连接的应用程序。您需要有一个 Token 才能与此 api 进行通信。每个用户的令牌必须是唯一的。要获取令牌,我们需要使用属于该用户的客户端证书调用端点。
我们通过对所有 API 请求使用 1 个静态 HttpClientHandler 实例来实现这一点。每个请求都使用给定的静态处理程序设置一个 HttpClient;并且只有客户端将被释放,处理程序将保持活动状态。但是要获得token;我们需要将证书添加到处理程序。因此在获取token时;我们使用一个新的 HttpClientHandler 实例来获取令牌。获得令牌后,我们立即处理客户端和处理程序实例。
现在很多电话都因以下错误而失败:
连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应 [ip]:443
大多数错误发生在我们获取 Token 时。但有时正常的 API 调用会因同样的错误而失败。
对方也研究过这个问题;他们给我们的最新结论是:在请求结束时,我们保持连接处于活动状态;因此该端口是为该连接保留的。但是,有时会尝试从我们这边使用相同的端口设置一个新请求(我猜是新连接)。有防火墙阻止/丢弃这个新请求;因为这个端口已经被使用了。这就是为什么我们以这个超时错误结束。
嗯,这是有道理的;我们无法控制连接使用的端口。但是为什么会这样呢?我有这样的理论,即问题在于静态处理程序(支持 10 个并行连接并保持此连接处于非活动状态,但仍处于活动状态)和可能认为端口空闲的第二个(或更多)其他处理程序的组合(因为那里不是此端口上的活动)可能会尝试建立与该端口的连接。但这只是一个理论;我找不到这方面的证据。
有没有人可以证实这个理论?或者也许给出其他解释为什么会出现这个问题?和/或是否有针对此问题的解决方案/解决方法?
c# - 使用 C# HttpClient 时检测“是否需要客户端证书”
我的客户端应用程序使用 HttpClient 调用 Azure 应用服务,如下所示:
如果我可以检测到页面需要它,我只想添加客户端证书。例如,如果您将 URL 粘贴到需要客户端证书的浏览器中,则浏览器会提供用户可以选择的证书选项。我的应用程序中也有一个证书列表,但只想在服务器需要时显示它。
我可以致电服务器并返回 403,然后提供我的列表。但是,出于其他身份验证原因,它可能是 403,因此会产生误导。
我想我在问 - “浏览器如何检测 URL 需要客户端证书”
谢谢
c# - 带有 HttpClientHandler ClientCertificate 的 HttpClient 在 c# 中不起作用
我需要将数据发送到需要证书授权的 webapi。这是使用WebRequestHandler在 .net 4.5.2 上运行的,但是当我尝试升级到 dotnet 5 并使用HttpClientHandler时 出现错误:
.net 4.5.2 代码
.net 5 代码:
我的代码可能有什么问题?