我試圖從https web請求中創建XML文檔,但是當網站具有無效證書時,我無法使其工作。我希望我的應用程序不關心證書,我希望它能夠在無懼的情況下生活在邊緣!使用XmlTextReader https請求忽略無效SSL(版本3)證書
這裏是最初的代碼我有,這是我之前5次來得到什麼,我從一個標準的HTTP希望(非SSL)要求:
XmlDocument xml = new XmlDocument();
XmlTextReader reader = new XmlTextReader("https://www.example.com");
xml.Load(reader);
隨着網站具有無效的SSL證書我我現在得到以下錯誤:
The request was aborted: Could not create SSL/TLS secure channel.
現在我已經做了我的谷歌,荷蘭國際集團和嘗試了一些有前途的解決方案,但它似乎沒有幫助。
一個我試過here on SO看起來不錯,但似乎沒有工作,我直接在我的代碼之前添加了「接受答案」代碼行,因爲它不太清楚它應該去哪裏。
如果它有什麼區別,我的代碼是在類庫中,我正在通過控制檯應用程序進行測試。我也使用.NET 4
這裏是我的最新嘗試(不工作):
XmlDocument xml = new XmlDocument();
ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback((s, ce, ch, ssl) => true);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlCommand);
request.Credentials = CredentialCache.DefaultCredentials;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream receiveStream = response.GetResponseStream())
{
XmlTextReader reader = new XmlTextReader(receiveStream);
xml.Load(reader);
}
}
剛大聲思考:我對'+ ='感到困惑。將它改爲'='可以爲你做什麼嗎? – skrebbel 2012-07-13 11:59:00
@skrebbel:編譯罰款但同樣的運行時錯誤 – musefan 2012-07-13 12:00:04
@skrebbel:不要擔心,排序;-) – musefan 2012-07-13 12:04:30