【发布时间】:2012-04-19 15:20:29
【问题描述】:
我需要能够在控制台程序中从 https 网站读取 xml/rss。
到目前为止,我的程序支持纯 http,我一直在四处寻找,但似乎找不到一种简单的方法来实现对 https 的支持。 该站点是否具有有效证书并不重要,但我会很乐意获得有关如何检查这些证书的提示。
我可能对此不太了解,因此请提供任何提示!
我目前为 http 做的是:
XmlTextReader rssReader;
XmlDocument rssDoc;
rssReader = new XmlTextReader(url);
rssDoc = new XmlDocument();
rssDoc.Load(rssReader);
在没有受信任证书的站点上尝试此操作时,我收到一条错误消息: “底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。”
string url = "https://somesite.com";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream resStream = response.GetResponseStream();
我的程序需要同时支持受信任和不受信任的 https 站点。
程序在服务器上运行,因此必须在代码中处理不受信任的 https 站点。
【问题讨论】:
-
如果你在 url 中将 "s" 添加到 "http" 会发生什么?只需将其从“http”更改为“https”?如果该站点具有受信任的证书,它应该可以正常工作。如果不是,您需要对遇到的任何错误进行故障排除。
-
我正在测试的站点没有受信任的证书。而且我的代码需要同时支持这两者.....
-
您遇到了哪个错误或行为是什么?如果您需要“处理证书”错误,这是一个/不同的问题
-
如果证书不受信任,则解决方法是显式信任运行控制台应用程序的计算机上的证书。为此,请在 Internet Explorer 中打开 URL,然后从那里安装它。这里有说明:m86security.com/KB/KnowledgebaseArticle13446.aspx(步骤可能会因 I.E. 的版本而异)
标签: c# xml https rss ssl-certificate