XmlDocument.Load(url) url是https远程时,报错

Posted 龙腾一族至尊龙骑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XmlDocument.Load(url) url是https远程时,报错相关的知识,希望对你有一定的参考价值。

XmlDocument.Load(url)  url是https远程时,报错" 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。"   "根据验证过程,远程证书无效。"

XmlDocument.Load(url)  url是是本地文件或者和是http时不会报错,但是如果是https远程时,会报错" 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。"   "根据验证过程,远程证书无效。"

原因是因为没有证书,证书是无效的,解决方法如下:

1、添加三个引用:using System.Net;     using System.Net.Security;      using System.Security.Cryptography.X509Certificates;

2、添加下面两个方法SetCertificatePolicy,事件RemoteCertificateValidate

/// <summary>
/// Sets the cert policy.
/// </summary>
public static void SetCertificatePolicy()

  ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidate;
/// <summary>
/// Remotes the certificate validate.
/// </summary>
private static bool RemoteCertificateValidate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error)

  System.Console.WriteLine("Warning, trust any certificate");
  return true;

只要在XmlDocument.Load(url)之前加上 SetCertificatePolicy(),就ok。

龙腾一族至尊龙骑



以上是关于XmlDocument.Load(url) url是https远程时,报错的主要内容,如果未能解决你的问题,请参考以下文章

XmlDocument.Load 多个根元素

为啥在执行我的代码 (XmlDocument.Load) 之前设置断点会阻止异常?

XmlDocument.Load()加载xml文件时,提示分析 EntityName 时出错的问题。

将 XML 文件读入 XmlDocument

一旦我设置 nodeIntegration:false -> "Uncaught ReferenceError: require is not defined at Object.ur

c# 读取xml文件 查找节点时 报null值?