C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
Posted Blogs Wang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。相关的知识,希望对你有一定的参考价值。
这里因为的原因是https请求要检查证书,有些证书不正确的,网页不会正常展示内容,而会返回链接不安全,是否继续。不安全的链接是否继续。
详情参考:
C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。http://www.mamicode.com/info-detail-1628676.html
我的代码片段
using System.Net.Http; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Security.Authentication; using System.Net.Http.Headers; using System.Threading.Tasks; using System.Web; using System.Text; using System.Net; namespace IronFury.Data { public static class HttpClientType { public static readonly string CRUD = "CRUD"; public static readonly string CRUD_CREATE = "C"; public static readonly string CRUD_UPDATE = "U"; public static readonly string CRUD_RETRIVE = "R"; public static readonly string CRUD_DELETE = "D"; } public static class CertificateTrust { //public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) //{ // 总是接受 // return true; //} public static void SetCertificatePolicy() { ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidate; } private static bool RemoteCertificateValidate( object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error) { System.Console.WriteLine("Warning, trust any certificate"); return true; } }
internal static string GetString(this HttpClient client) { CertificateTrust.SetCertificatePolicy(); var responseMessage = client.GetAsync("").Result; var result = responseMessage.Content.ReadAsStringAsync().Result; return result; } } }
以上是关于C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。的主要内容,如果未能解决你的问题,请参考以下文章