在Wininet中使用SSL

Vis*_*ell 1 c windows ssl https winapi

有人可以给我示例如何将SSL与Wininet API一起使用吗?这是我的代码,但没有成功.....

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);
Run Code Online (Sandbox Code Playgroud)

提前致谢。

500*_*ror 5

对于使用有效证书的网站,您当然不必执行任何特殊操作,除了指定https URL。对于自行生成的证书,您可能需要在客户端计算机上手动安装证书颁发机构,和/或提供一些IGNORE标志。

解决此类问题的一种好方法是安装WININET回调。这样,您就可以在通信时监视WININET正在(或没有)进行的进度。

这里有一个示例(我个人没有使用过):

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