我有简单的代码,类似于我在我的应用程序中散布的代码:
new XmlDocument().Load("https://mybookingpal.com/xml/rest/product/organization/5?pos=" + "a3a2e74b809e0e87");
以上是新域名,旧域名是:
new XmlDocument().Load("https://razor-cloud.com/xml/rest/product/organization/5?pos=" + "a3a2e74b809e0e87");
您可以尝试使用两个Urls并查看它们是否正常工作/生成相同的XML结果。
SSL中可能发生了某些变化,现在阻止了.Load()的运行。我有两个问题:
答案 0 :(得分:0)
我有同样的问题。事实证明,这是由
中定义的xml DTD引起的<!DOCTYPE>
检查xml文件标题
<!DOCTYPE xxx SYSTEM "url">
复制url并粘贴到浏览器中,然后运行Fiddler来查看正在使用的协议。
我的情况是,我正在运行本地服务器来解析使用来自第三方的DTD的xml文件。我的本地服务器运行在Tls11或Tls12上,而第三方DTD(URL)只能通过Ssl或Tls10进行通信。因此无法握手。
我的解决方案很简单,只需添加以下行作为临时解决方案即可:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;
答案 1 :(得分:0)
这似乎与我遇到的问题相同,与此链接相同: Form Authentication and XmlDocument.Load
我已经使用表单身份验证和Https登录,我希望不需要其他身份验证。但是,新的XmlDocument()。Load()再次加载登录页面。由于此页面是html,因此会引发错误的xml格式异常。