2012-01-27 92 views
0

有人可以舉例說明如何在wininet API中使用SSL? 這裏是我的代碼,但沒有成功.....在Wininet上使用SSL

DWORD dwFlags = INTERNET_FLAG_SECURE|INTERNET_FLAG_IGNORE_CERT_CN_INVALID|SECURITY_FLAG_IGNORE_UNKNOWN_CA|INTERNET_FLAG_IGNORE_CERT_DATE_INVALID|INTERNET_FLAG_NO_AUTO_REDIRECT|INTERNET_FLAG_PRAGMA_NOCACHE|INTERNET_FLAG_NO_CACHE_WRITE; 

hOpen = InternetOpen(UserAgent,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0); 
hConnect = InternetConnect(hOpen,Url,INTERNET_DEFAULT_HTTPS_PORT,NULL,NULL,INTERNET_SERVICE_HTTP,0,0); 
hRequest = HttpOpenRequest(hConnect,GET,Pages,NULL,NULL,NULL,dwFlags,0); 

HttpSendRequest(hRequest,ContentType,-1L,NULL,0); 

在此先感謝。

回答

4

對於使用有效證書的網站,您當然不應該做任何特殊的事情,除了指定https網址之外。對於自我生成的證書,您可能需要在客戶端機器上手動安裝證書頒發機構,和/或提供一些IGNORE標誌。

解決這類問題的好方法是安裝WININET回調。這可以讓您監視WININET在通信時進行(或不進行)的進度。

有一個如何在這裏使用它的一個示例(我沒有親自使用):

http://www.codeproject.com/Articles/25185/WinINet-Test-Application

+0

+1您的用戶名 – jglouie 2012-01-27 22:47:00

+0

當我運行我的代碼啓動嗅探器和似乎只是該證書是下載....並且是我使用自我生成的證書。有了這些忽略標誌,它必須運行,但沒有.... – VisaToHell 2012-01-27 22:47:50