2012-01-27 94 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