1. 程式人生 > >通過C/C++基於http下載檔案

通過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!\n"); else printf("Error!\n"); return 0; }

演示效果

  • 執行介面
    執行介面

  • 實現效果
    實現效果