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;
相关推荐
qyhua4 小时前
Linux内网端口转公网端口映射
linux·运维·服务器
开开心心kai4 小时前
如何快速申请免费SSL证书,实现网站HTTPS安全传输
网络·网络协议·安全·https·ssl
starleeisamyth7 小时前
Ubuntu + SSH密钥连接服务器
服务器·ubuntu·ssh
国中之林7 小时前
【qt】如何获取本机的IP地址?
服务器·qt·网络协议·学习·tcp/ip
初学️计算8 小时前
网络协议与标准
运维·服务器·windows
可爱的小小小狼8 小时前
linux的服务管理
linux·运维·服务器
原机小子8 小时前
Laravel模型事件完全指南:触发应用程序的动态行为
服务器·开发语言·laravel
静候光阴8 小时前
ubuntu22 sshd设置
服务器·ubuntu·ssh
Hcoco_me8 小时前
网络协议 | 计算机网络基础学习笔记
网络协议·学习·计算机网络
zhenz07299 小时前
VSCode使用SSH无需输入密码远程连接服务器
服务器·vscode·ssh