首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Windows FTP 相關 API 函數速查表

     編輯:關於C++

WinINet FTP API 完整列表

Windows WinINet 函式庫提供完整的 FTP 用戶端功能,以下為核心 API 分類速查:

函數名稱功能描述
InternetOpen初始化 WinINet 工作階段,取得會話控制代碼
InternetConnect建立 FTP/HTTP/Gopher 連線,回傳連線控制代碼
FtpCreateDirectory在伺服器建立新目錄
FtpRemoveDirectory刪除伺服器目錄
FtpOpenFile開啟伺服器檔案進行讀寫
FtpGetFile下載指定檔案至本地
FtpPutFile上傳本地檔案至伺服器
FtpDeleteFile刪除伺服器指定檔案
FtpSetCurrentDirectory設定伺服器當前工作目錄
FtpGetCurrentDirectory取得伺服器當前工作目錄
FtpCommand發送原始 FTP 指令 (如 LIST, SITE 等)
FtpFindFirstFile開始列舉目錄,回傳首筆 WIN32_FIND_DATA
InternetFindNextFile繼續列舉目錄後續項目
FtpRenameFile重新命名伺服器檔案

典型操作流程

HINTERNET hSession = InternetOpen("MyFTPClient", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
HINTERNET hConnect = InternetConnect(hSession, "ftp.example.com", INTERNET_DEFAULT_FTP_PORT, "user", "pass", INTERNET_SERVICE_FTP, 0, 0);

// 上傳
FtpPutFile(hConnect, "local.txt", "remote.txt", FTP_TRANSFER_TYPE_BINARY, 0);

// 下載
FtpGetFile(hConnect, "remote.txt", "local.txt", FALSE, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_BINARY, 0);

// 列舉目錄
WIN32_FIND_DATA findData;
HINTERNET hFind = FtpFindFirstFile(hConnect, "*", &findData, 0, 0);
if (hFind) {
    do { /* 處理 findData */ } while (InternetFindNextFile(hFind, &findData));
    InternetCloseHandle(hFind);
}

InternetCloseHandle(hConnect);
InternetCloseHandle(hSession);

注意事項

  • 需連結 wininet.lib,標頭檔 wininet.h
  • 所有控制代碼用完必須呼叫 InternetCloseHandle 釋放
  • 支援被動模式 (PASV) 透過 INTERNET_FLAG_PASSIVE 旗標
  • 大型檔案傳輸建議搭配 FtpOpenFile + InternetReadFile/InternetWriteFile 分塊處理
  • 錯誤處理:呼叫 GetLastError() 取得 WinINet 錯誤碼
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved