zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

解决HttpWebRequest访问https请求被中止: 未能创建 SSL/TLS 安全通道

SSL安全HTTPS 解决 创建 访问 请求 通道
2023-09-11 14:19:35 时间

处理HttpWebRequest访问https有安全证书的问题( 请求被中止: 未能创建 SSL/TLS 安全通道。)只需加上以下两行代码就行了。//处理HttpWebRequest访问https有安全证书的问题( 请求被中止: 未能创建 SSL/TLS 安全通道。)ServicePointManager.ServerCertificateValidation…

处理HttpWebRequest访问https有安全证书的问题( 请求被中止: 未能创建 SSL/TLS 安全通道。)

只需加上以下两行代码就行了。

 

//处理HttpWebRequest访问https有安全证书的问题( 请求被中止: 未能创建 SSL/TLS 安全通道。)
ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

以上代码是.Net 4.5以上版本可以直接使用。

.Net 4.0版本使用下面代码

ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true;
ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;

示例:

    /*发送微信订阅通知消息*/
        private string sendWxNotify(string name,string tel,int goodsId, HttpContext context)
        {
            ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true;
            ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;

            HttpWebRequest requet = (HttpWebRequest)WebRequest.Create("https://xx/postmessage?key=ad&name="+name+"&tel="+tel+"&id="+goodsId.ToString());
            requet.Method = "GET";
           
            using (HttpWebResponse response = (HttpWebResponse)requet.GetResponse()) 
            {
                StreamReader sr = new System.IO.StreamReader(response.GetResponseStream(), Encoding.Default);
              return  sr.ReadToEnd();
            }
            return "";
        }

 

 

来源:http://geobook.net/news/show-1097.html