项目中涉及到调用第三方的Https的WebService,我使用的是原始的HttpWebRequest。

代码中已经考虑到是Https,加上了SSL3协议,加上了委托调用。但偶尔还是会碰到

The request was aborted:Could not create SSL/TLS secure channel.

这样的错误。

于是根据这篇博客所说,将其改成使用Tls协议,看看有没有用。

            if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))///https请求
            {
                ServicePointManager.Expect100Continue = true;
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; //SSL3协议替换成TLS协议
                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                webRequest = WebRequest.Create(url) as HttpWebRequest;
                webRequest.ProtocolVersion = HttpVersion.Version10;
            }
            else
            {
                webRequest = WebRequest.Create(url) as HttpWebRequest;
            }

  

相关文章:

  • 2021-10-23
  • 2021-10-22
  • 2022-03-04
  • 2022-12-23
  • 2021-09-10
  • 2021-12-19
  • 2021-06-11
  • 2021-06-21
猜你喜欢
  • 2021-11-28
  • 2021-07-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-10
  • 2022-02-26
相关资源
相似解决方案