C++ C++;使用套接字从URL下载文件
我正在尝试从URL下载一个文件并将其保存在某个路径中。 我不想卷曲,所以我想通过插座。C++ C++;使用套接字从URL下载文件,c++,file,download,C++,File,Download,我正在尝试从URL下载一个文件并将其保存在某个路径中。 我不想卷曲,所以我想通过插座。 我没有任何代码,如果你能帮我谢谢 C++标准库没有与网络套接字交互的API。因此,没有下载文件的标准方法。要使用操作系统提供的API,第一步是决定程序将在哪个操作系统上运行 下一步是找出要使用的应用层协议。这通常可以由URL的方案部分确定。例如,如果url以http://开头,则程序需要使用http协议。在C++中没有标准的HTTP协议实现。您可以在这里找到规范:尽管如果您需要支持HTTPS之类的东西,您可能
我没有任何代码,如果你能帮我谢谢 C++标准库没有与网络套接字交互的API。因此,没有下载文件的标准方法。要使用操作系统提供的API,第一步是决定程序将在哪个操作系统上运行
下一步是找出要使用的应用层协议。这通常可以由URL的方案部分确定。例如,如果url以http://开头,则程序需要使用http协议。在C++中没有标准的HTTP协议实现。您可以在这里找到规范:尽管如果您需要支持HTTPS之类的东西,您可能还需要阅读一些“过时者”和“更新者”规范。也就是说(通常情况下),使用免费库可以节省大量时间,我建议您这样做。我发现这段代码非常好用
#include <urlmon.h>
#pragma comment(lib, "urlmon.lib")
int main(int argc, char *argv[]) {
// download the putty executable to putty.exe in the working directory, error checking omitted
URLDownloadToFile(NULL, "http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe", "putty.exe", 0, NULL);
return 0;
}```
#包括
#pragma注释(lib,“urlmon.lib”)
int main(int argc,char*argv[]){
//将putty可执行文件下载到工作目录中的putty.exe,忽略错误检查
URLDownloadToFile(空,“http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe,“putty.exe”,0,NULL);
返回0;
}```
请注意,URLDownloadToFile()
是出了名的错误,并且缺乏良好的错误报告。考虑使用WiNeNET,请参阅,特别是节上。它的代码比只调用1个函数多一点,但更可靠,并提供更好的错误处理。