#include <stdio.h>
#include <windows.h>
#include <wininet.h>
#pragma comment(lib, "wininet.lib")
#if _MSC_VER < 1300
#define __FUNCTION__ "Undefined"
#endif
BOOL 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;
}
用WinInet API实现ftp文件上传
最新推荐文章于 2020-11-18 20:34:14 发布