Http接口RestSharp中StatusCode返回0, 但服务器或本地postman获取应答正常(C#)

我的本地和其他服务器用同一段代码都可以访问:

原代码:

cs 复制代码
RestClient client = new RestClient(url);
client.Timeout = -1;
RestRequest request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer " + access_token);
request.AddHeader("Content-Type", "application/json");
CommanFunction.WriteLog2("UploadData_Error.log", "params2:" + json2);
request.AddParameter("application/json", json2, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
var text = response.Content;

返回值是空,statuscode 值是0

原因:

应该是我的本机启用了TLS1.2支持,而服务器上没有启用TLS1.2的支持,所以出现同样的代码本机没问题,而服务器上没法使用。

改后代码:

cs 复制代码
RestClient client = new RestClient(url);
client.Timeout = -1;
RestRequest request = new RestRequest(Method.POST);

--添加的代码
System.Net.ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true;
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls;

--

request.AddHeader("Authorization", "Bearer " + access_token);
request.AddHeader("Content-Type", "application/json");
CommanFunction.WriteLog2("UploadData_Error.log", "params2:" + json2);
request.AddParameter("application/json", json2, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
var text = response.Content;

增加的代码:

cs 复制代码
System.Net.ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true;
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls;
相关推荐
努力也学不会java24 分钟前
【网络原理】 网络编程套接字
java·开发语言·网络·网络协议·tcp/ip·php
Rene110034 分钟前
Linux虚拟机无法重启网络
linux·运维·服务器
芷栀夏43 分钟前
CasaOS上部署1Panel开源运维面板远程在线访问配置实操指南
linux·服务器·网络
你不是我我2 小时前
【Java开发日记】OpenFeign 的 9 个坑
java·http·spring cloud
✿ ༺ ོIT技术༻2 小时前
Linux:TCP保证可靠性的方案(2)
网络·网络协议·tcp/ip
万博智云OneProCloud3 小时前
解锁服务器迁移的未来:《2025 服务器迁移效率白皮书》(附下载)
服务器·hypermotion云迁移·it基础设施
SunsPlanter3 小时前
RPC 是什么?为什么有了 HTTP 还要用 RPC
网络协议·http·rpc
shanks664 小时前
【Bug】 [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
网络协议·bug·ssl
白云~️6 小时前
uniappx 打包配置32位64位x86安装包
运维·服务器·github
在河之洲木水7 小时前
现代多核调度器的本质 调度三重奏
linux·服务器·系统架构