如何使用C ++在Windows上通过HTTPS从Internet检索文件?

时间:2012-11-12 20:03:47

标签: c++ windows http https

  

可能重复:
  How to download a file with WinHTTP in C/C++?

我有一个网址,例如:

https://dl.dropbox.com/u/5465642/myfile.xml

Windows上的C ++应用程序。当我的应用程序启动时,我想花2秒钟尝试将文件下载到应用程序内存中。如果文件被下载,我会用它做我的东西。如果不是,我会跳过它。我不想为此使用C#和.Net。没有繁重的外部库或DLL。可能是WinApi或一些小型外部库。在Windows XP及更高版本上运行。不依赖于IE浏览器版本或类似的东西。

1 个答案:

答案 0 :(得分:0)

获取主机的IP,打开套接字,连接到IP,执行SSL / TLS握手,执行获取,关闭套接字。对于握手,您使用AcquireCredentialsHandle,InitializeSecurityContext,QueryContextAttributes,CertVerifyTimeValidity等。对于发送,您将使用EncryptMessage。接收你将使用DecryptMessage。使用这些API搜索Microsoft示例,你会没事的。在握手期间管理您自己的recv超时,并接收处理您的超时。