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;
相关推荐
为思念酝酿的痛2 小时前
POSIX信号量
linux·运维·服务器·后端
隔窗听雨眠3 小时前
Nginx网关响应慢排查手记
java·服务器·nginx
IT大白鼠3 小时前
RSTP协议原理与配置详解:快速生成树技术的深度解析
网络·网络协议
人还是要有梦想的3 小时前
linux下用搜狗输入法,中英文切换
linux·运维·服务器
9分钟带帽3 小时前
linux_通过NFS挂载远程服务器的硬盘
linux·服务器
迷枫7125 小时前
DM8 目录结构与常用排查入口梳理
服务器·数据库
weixin_394758037 小时前
CRMEB 会员电商系统PRO系统安装之宝塔安装教程-新手推荐(软件管理)
服务器·阿里云
s_w.h7 小时前
【 linux 】动静态库的制作
linux·运维·服务器·算法·bash
笨鸟飞不快7 小时前
从一次网络请求出发,彻底搞懂事件循环、I/O 多路复用与响应式编程
网络协议
专注VB编程开发20年7 小时前
安卓APP与服务器通讯技术,文件传输和文字消息收发
运维·服务器