如何使用C 通过Windows上的HTTP从Internet检索文件

How to retrieve a file from Internet via HTTPS on Windows using C++?

本文关键字:Internet 检索 文件 HTTP 上的 何使用 通过 Windows      更新时间:2023-10-16

可能的重复:
如何在C/C 中使用WinHTTP下载文件?

我有一个URL,示例:

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

和Windows上的C 应用程序。当我的应用程序启动时,我想花2秒钟尝试将文件下载到应用程序内存中。如果下载文件,我会用它来做我的工作。如果不是,我只会跳过它。我不想为此使用c#和.net。没有繁重的外部图书馆或DLL。可能是Winapi或一些小型外部图书馆。在Windows XP和更高的地方工作。不取决于IE Explorer版本或类似的内容。

获取主机的IP,打开一个插座,连接到IP,执行SSL/TLS握手,进行获取,关闭套接字。对于握手,您使用AcqureCredentialShandle,InitializeSecurityContext,QueryContextAttributes,CertverifyTimeVality等。发送您将使用EncryptMessage。为了接收,您将使用解密。使用这些API搜索Microsoft示例,您会没事的。在握手期间管理自己的RECV超时,并接收到超时。