C#调用webapi HTTPS报错:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系--安全证书问题
1、首先加入命名空间:
using System.Net.Security;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;
SSL网站,连接时需要提供证书,对于非必须提供客户端证书的情况,只要返回一个安全确认即可。我的是.NET FrameWork4.0
2、加入以下代码:
public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors){//直接确认,否则打不开return true;}
3、接收证书进行身份验证ssl,在调用api接口前调用此方法:
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
以下是完整案例:
public string HttpPost(string url, string body){Encoding encoding = Encoding.UTF8;string jsonText = string.Empty;string dataText1 = string.Empty;if (string.IsNullOrEmpty(url.Trim())){return "";}//接收证书进行身份验证ServicePointManager.ServerCertificateValidationCallback =new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);//ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);request.Method = "POST";request.Accept = "text/plain, */*; q=0.01";request.ContentType = "application/json;charset=utf-8";byte[] buffer = encoding.GetBytes(body);request.ContentLength = buffer.Length;request.GetRequestStream().Write(buffer, 0, buffer.Length);HttpWebResponse response = (HttpWebResponse)request.GetResponse();using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)){jsonText = reader.ReadToEnd();dataText1 = Regex.Replace(jsonText, @"\\", "");}return dataText1;}
调用:
dlbzUrl是调用地址 https://…/api/tddbzzljcxt/zybrxx/vnoentry-query
model.FCYRQSTART 开始时间
model.FCYRQEND 结束时间
string DaliBaiHospitalJson = HttpPost(dlbzUrl, "{\"FIDATES\":\"" + model.FCYRQSTART + " 00:00:00" + "\",\"FIDATEE\":\"" + model.FCYRQEND + " 23:59:59" + "\"}");
C#调用webapi HTTPS报错:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系--安全证书问题相关推荐
- C#Post接口报错信息:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系--安全证书问题 解决方法
目录 一.说明: 二.错误信息: 三.解决方法 1.引用命名空间: 2.添加接收方法(CheckValidationResult): 3.post方法里面增加调用:CheckValidationRes ...
- 解决Error基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系
今天写程序的时候调用到一个第三方的DLL文件,本机调试一切都正常,但是程序不是到服务器以后一直提示一个BUG:"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系". ...
- C#运行出现:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
英文:The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secu ...
- 如何处理scoop安装时总是出现 “iex : 使用“1”个参数调用“DownloadString”时发生异常:“基础连接已经关闭: 连接被意外关闭。”“
如何处理scoop安装时总是出现 "iex : 使用"1"个参数调用"DownloadString"时发生异常:"基础连接已经关闭: 连接被 ...
- Https未能创建 SSL/TLS 安全通道。Could not create SSL/TLS secure channel解决方案
描述:请求被中止: 未能创建 SSL/TLS 安全通道.Could not create SSL/TLS secure channel. 产生平台:Windows Server 2012,Window ...
- vs2012报“nuget 基础连接已经关闭:发送时发生错误”的问题
卸载 Nuget Package Manager重新安装,重新安装时也报错,那就从官网下载Nuget Package Manager安装包进行安装: NuGet Package Manager - V ...
- WebClient 请求 https 页面出错:未能创建 SSL/TLS 安全通道
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | Securi ...
- DownloadString”时发生异常:“基础连接已经关闭: 发送时发生错误
win10下安装scoop遇到错误:"DownloadString"时发生异常:"基础连接已经关闭: 发送时发生错误",记录一下解决过程. 确认powershe ...
- webclient 基础连接已经关闭: 发送时发生错误。
最近在做微信企业号的集成开发,在做对文件的上传和下载时,遇到一个很头疼的问题.程序运行一段时间之后在下载或者上传文件时webclient会报一个基础连接已经关闭:发送时发生错误. 因为程序是运行一段时 ...
最新文章
- 人群计数--Switching Convolutional Neural Network for Crowd Counting
- dojo/dom源码学习
- python处理表格-python如何处理表格?
- python翻译文档地址
- H3C交换机常用巡检命令
- 动感英语笔记_【共同战“疫”】(一)滨海新区大港西苑小学英语教师团队
- html css 画五角星,纯 CSS3 绘制图形(心形、五角星、六边形等)
- VMware安装VMwaretools
- 【java】JOptionPane的几种方法的作用
- 【笔试/面试】—— 从余弦定理到三角形两边之和大于第三边的证明
- 2014上海全国邀请赛 解题报告
- 构建元宇宙概念NFT商城系统——艺术数字藏品平台源码部署
- ubuntu上安装 ibus Google拼音输入法解决中文输入问题
- CI框架 url指向错误 配置根目录
- Letv超级电视再出发,这次拿什么讲故事?
- 宋红康JVM 学习笔记
- 联想服务器系统初始化失败怎么回事,win10重置初始化失败怎么解决
- 【GBT28181开发:SIP协议实践】之设备状态查询
- ArcGIS地理配准(Georeferencing)详解
- 04.数据分析之pillow与matplotlib