c# HttpClient 发送请求出错时解决办法 c# – 因为算
本人在改造旧项目时遇到一个http发送请求在本地怎么都好使,但是在测试服务器始终失败的问题,给的错误信息也只有一句话:“发送请求时出错”,使用的是HttpClient对象发出的请求。 使用PostMan也是可以正常发送的,但是就是一到测试服务器就失败,我的测试服务器是配置了https证书的,目标服务器也是https,费了好久排查代码问题,甚至不惜更换底层代码还是不好使。? 被逼无奈还是百度吧,没想到网上早就有类似问题了: ? 我的上一篇采坑文章:APP项目http请求无法通信的错误:c# – 因为算法不同,客户端和服务器无法通信 ? 原因是:发送请求的消息http协议版本问题,应该设置.net 4.5支持的最高版本TLZ1.2,我原来已经遇到过一次这个坑了,只是上次的坑错误比较明显,这次的坑就这么一句不明不白的话。? 哎,“发送请求时出错”。 ? 解决方案: System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ? 道友地址:c# WebClient,HttpClient 发送请求出错时解决办法 ? 在C# 使用?HttpClient或?WebClient发送请求时 提示 ?: 请求被中止: 未能创建 SSL/TLS 安全通道 或 发送请求时出错 的问题 解决办法:在发送请求地址代码前加如下代码 System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;(?| SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;) 问题解决! 如: ? ? ? ? ? ? HttpClient httpClient = new HttpClient(); 或者(经过测试,下面的方法是不好使的,大家看到时使用第一种方案): handler = new HttpClientHandler() ; handler.ClientCertificateOptions = ClientCertificateOption.Automatic; httpClient = new HttpClient(handler); ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – System.Runtime.InteropServices.COMException功
- asp.net – 使用成员资格数据在aspnet_profile表中存储其他
- asp.net – 从DropdownList SelectedItem获取属性
- asp.net – 以纯文本识别URL
- asp.net-mvc – 模型需要注入依赖项时的模型(ViewModel)绑定
- asp.net-mvc – redirectToAction导致null模型
- asp.net管理多个web.config文件
- asp.net core html 选择框checked选中
- .net – 如何检查用户是属于AD组还是嵌套组?
- asp.net – IValidatableObject在DataAnnotations失败时触发