2012-08-22 87 views
2

我使用微軟的WinHttpRequest COM對象請求一個網頁具有無效證書:如何用IWinHttpRequest忽略無效證書?

IWinHttpRequest http = new WinHttpRequest(); 
http.Open("GET", url, false); 
http.Send(null); 

除了調用Send拋出一個異常:

0x80072F0D - The certificate authority is invalid or incorrect 

我怎麼告訴WinHttpRequest說我不在乎,我希望它能檢索我要求的網頁?

回答

6

的解決方案是忽略four kinds of SSL errors

IWinHttpRequest http = new WinHttpRequest(); 
http.Open("GET", url, false); 

//ignore all SSL errors 
http.Option[WinHttpRequestOption_SslErrorIgnoreFlags] = 0x3300; 
    //Unknown certification authority (CA) or untrusted root 0x0100 
    //Wrong usage            0x0200 
    //Invalid common name (CN)         0x1000 
    //Invalid date or certificate expired      0x2000 

http.Send(null); 

注意:任何代碼發佈到公共領域。無需歸屬。