调用WebAPI的提示:由于远程方已关闭传输流,身份验证失败。

csharp 复制代码
  			var client = new RestClient(url);
            client.Timeout = -1;
            var request = new RestRequest(Method.POST);
            client.UserAgent = "Apifox/1.0.0 (https://apifox.com)";
            request.AddHeader("Content-Type", "application/json");
            //request.AddHeader("Authorization", "Bearer 123");
            var body = @JsonData;

            request.AddParameter("application/json", body, ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);

这是我的API调用代码,然后一开始提示:由于远程方已关闭传输流,身份验证失败。

我以为是因为Https 的原因:

所以添加代码来忽略SSL证书但是还是不行

csharp 复制代码
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;

于是想想应该可能是http协议的问题

于是

csharp 复制代码
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

问题成功解决

分析原因应该是.Net 4.6以下版本协议固定的原因,升级.Net框架版本可以解决,或者可以上方指定协议的代码也可以解决

相关推荐
czhc11400756631 小时前
同一个数,两把尺子:六组“看着一样、其实不一样“
c#
花北城2 小时前
【C#底层库】access_token授权鉴权验证
c#·鉴权·token·授权
rick9772 小时前
C# 动态代理与 DispatchProxy:从原理到实战的完整指南
c#
tang_04272 小时前
【Hi.Ltd 专题】第8期:Managements 插件、单例与服务定位
经验分享·c#·hi.ltd系列
曹牧13 小时前
C#:24小时制时间
c#
唐青枫18 小时前
别急着拆服务:C#.NET 微服务架构从边界设计到实战
c#·.net
czhc11400756631 天前
从一份运行日志还原一次生产卡死:三个信号与一场“假卡死“
c#
Jazz_z1 天前
如何用 C# 读取 Word 中的表格数据
开发语言·c#
阿松爱学习1 天前
【Unity开发】FileStream 详解及用法指南
unity·c#·unity开发
淡海水1 天前
12-02-性能-数据结构性能调查案例1-5
数据结构·性能优化·c#