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;
相关推荐
予昊27 分钟前
Linux 资源控制实战分析:用 LXC 亲手造一个 “迷你虚拟机“
linux·运维·服务器
hyf3266331 小时前
低成本站群泛程序部署:单服务器托管百站稳定运行教程
运维·服务器·前端·搜索引擎·蜘蛛池
张宇Joaquin1 小时前
openEuler编译和更换内核的方法
java·linux·服务器
小此方1 小时前
Re:Linux系统篇(五十六)线程篇 · 九:基于阻塞队列的生产者消费者模型与条件变量
linux·运维·服务器
Escalating_xu1 小时前
【Linux】库制作与链接原理:从静态库、动态库到 ELF、重定位、GOT 与 PLT
linux·运维·服务器
zhao32668575111 小时前
静态IP代理固定IP与动态IP的根本差异,账号操作安全性如何体现
网络·网络协议·tcp/ip
躺不平的理查德11 小时前
ARCH与交叉编译器的关系
服务器·arm
谢慧琼13 小时前
2026零基础做企业网站,低成本搭建官方网站
服务器·前端·javascript
世人万千丶16 小时前
去重插入与超限淘汰:ArkTS 实现鸿蒙搜索历史的 LIMIT 艺术
运维·服务器·学习·华为·harmonyos·鸿蒙
程序员与背包客_CoderZ17 小时前
Linux D-Bus通信协议详解:从入门到C/C++编码实战
linux·服务器·c语言·c++·嵌入式硬件·嵌入式软件·dbus