zoukankan      html  css  js  c++  java
  • 通过C/C++基于http下载文件

    简介

    Windows系统如何通过C/C++下载互联网上的文件呢?这里笔者给大家演示一个最简单的方法,利用Windows提供的urlmon库,可以快速实现文件下载的简单实例。

    注:本文内容部分参考了《非安全》编辑部出版的《Hack编程实例精讲》系列书籍,在此致谢。

    C++代码样例

    #include <cstdio>
    #include <iostream>
    #include <cstdlib>
    #include <cstring>
    #include <windows.h>
    #include <urlmon.h>
    
    #pragma comment(lib, "urlmon.lib")
    
    using namespace std;
    
    BOOL FileExistsStatus(const CHAR* path)
    {
        DWORD dwAttribute = GetFileAttributes(path);
        if (dwAttribute == 0XFFFFFFFF) return false; //0XFFFFFFFF表示文件不存在
        else return true;
    }
    
    BOOL DownloadFiles(const CHAR* url, const CHAR* downloadPath)
    {
        if (URLDownloadToFile(NULL, url, downloadPath, 0, 0) == S_OK && FileExistsStatus(downloadPath)) return true;
        else return false;
    }
    
    int main(int argc, char* argv[])
    {
        if (DownloadFiles(argv[1], argv[2])) printf("OK!
    ");
        else printf("Error!
    ");
        return 0;
    }

    演示效果

    • 运行界面
      运行界面

    • 实现效果
      实现效果

  • 相关阅读:
    【bzoj2115】[Wc2011] Xor
    【bzoj2460】[BeiJing2011]元素
    P2300 合并神犇 DP
    P1041 传染病控制 深搜
    P1038 神经网络 图论
    树状数组模板
    送外卖 状压DP
    士兵守卫(同P2016 战略游戏) 树形DP
    P1171 售货员的难题 喻队状压 DP
    P2062 分队问题 DP
  • 原文地址:https://www.cnblogs.com/csnd/p/12897015.html
Copyright © 2011-2022 走看看