我希望能够用C++下载URL.简单的事情:
std::string s;
s=download("http://www.example.com/myfile.html");
理想情况下,这将包括以下URL:
我在Boost中使用asio,但它似乎没有处理ftp和https等协议的代码.现在我发现QT有更多我需要的东西(http://doc.trolltech.com/2.3/network.html).
切换到Qt是很诱人的,但它似乎有点沉重,并且与很多Boost功能相交叉.是否值得学习另一个API(Qt)或者Boost能做的比我想象的要多吗?
您可以使用URLDownloadToFile。
#include <Urlmon.h>
HANDLE hr;
hr=URLDownloadToFile(NULL, L"http://www.example.com/myfile.html",L"mylocalfile.html",BINDF_GETNEWESTVERSION,NULL);
Run Code Online (Sandbox Code Playgroud)
根据MSDN,BINDF_GETNEWESTVERSION - 是一个“指示绑定操作检索可用数据或对象的最新版本的值。在 URL 名称中,此标志映射到 WinInet 标志 INTERNET_FLAG_RELOAD,它强制下载所请求的资源” 。