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;
    }

    演示效果

    • 运行界面
      运行界面

    • 实现效果
      实现效果

  • 相关阅读:
    三 面向对象之绑定方法与非绑定方法
    二 面向对象三大特性
    一 面向对象定义
    面向对象路线
    七 递归与二分法、匿名函数、内置函数
    线程同步测试
    Oracle12c的安装
    git教程:添加远程仓库
    git教程:远程仓库
    git教程:删除文件
  • 原文地址:https://www.cnblogs.com/csnd/p/12897015.html
Copyright © 2011-2022 走看看