用WinInet API实现ftp文件上传

来源:互联网 发布:淘宝网店标志图片 编辑:程序博客网 时间:2024/06/06 04:27
#include <stdio.h>#include <windows.h>#include <wininet.h>#pragma comment(lib, "wininet.lib")#if _MSC_VER < 1300#define __FUNCTION__ "Undefined"#endifBOOL ftp_upload_file(const char *server, int port, const char *username, const char *password,  const char *localfile, const char *remotefile){HINTERNET net_session = NULL;   HINTERNET ftp_session = NULL;__try{net_session = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL); if(NULL == net_session) {printf("[%s]Can't access the network!\n", __FUNCTION__);return FALSE;}ftp_session = InternetConnect(net_session, server, port, username, password, INTERNET_SERVICE_FTP, 0, 0);if(NULL == ftp_session){printf("[%s]Can't connect to the FTP server\n", __FUNCTION__); return FALSE;}printf("Start uploading...\n");return FtpPutFile(ftp_session, localfile, remotefile, FTP_TRANSFER_TYPE_ASCII, 0);}__finally{if(NULL != ftp_session) {InternetCloseHandle(ftp_session); }if(NULL != net_session){InternetCloseHandle(net_session);}}return FALSE;}int main(int argc, char* argv[]){if(ftp_upload_file("192.168.1.100", 21, NULL, NULL, "local.txt", "server.txt")){printf("ftp_upload_file successfully\n");}else{printf("ftp_upload_file failed\n");}system("pause");return 0;}

原创粉丝点击