需要 FtpGetFile 的示例,不工作
Posted
技术标签:
【中文标题】需要 FtpGetFile 的示例,不工作【英文标题】:Need examples for FtpGetFile, not working 【发布时间】:2014-04-20 11:19:20 【问题描述】:这是我当前的代码,但它没有做任何事情。我也希望它在下载完成后打开 do.bat
#include <cstdlib>
#include <iostream>
#include <wininet.h>
using namespace std;
int main(int argc, char *argv[])
HINTERNET hInternet = InternetOpen(NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0); // Initialization for WinInet Functions
HINTERNET hFtpSession = InternetConnect(hInternet,"server",INTERNET_DEFAULT_FTP_PORT,"user","pass", INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0); // Starts a session in this case an FTP session
FtpGetFile(hInternet,"do.bat","C:\\do.bat",FALSE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_ASCII,0);
InternetCloseHandle(hFtpSession); // Close hFtpSession
InternetCloseHandle(hInternet); // Close hInternet
system("PAUSE");
return EXIT_SUCCESS;
【问题讨论】:
【参考方案1】:哇,不,再次感谢,只是一个新手错误。我需要更换
FtpGetFile(hInternet,"do.bat","C:\do.bat",FALSE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_ASCII,0);
与
FtpGetFile(hFtpSession,"do.bat","C:\do.bat",FALSE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_ASCII,0);
#include <cstdlib>
#include <iostream>
#include <wininet.h>
using namespace std;
int main(int argc, char *argv[])
HINTERNET hInternet = InternetOpen(NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0); // Initialization for WinInet Functions
HINTERNET hFtpSession = InternetConnect(hInternet,"ftp.drivehq.com",INTERNET_DEFAULT_FTP_PORT,"merzu","8067-MPSE", INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0); // Starts a session in this case an FTP session
FtpGetFile(hFtpSession,"do.bat","do.bat",TRUE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_ASCII,0);
InternetCloseHandle(hFtpSession); // Close hFtpSession
InternetCloseHandle(hInternet); // Close hInternet
system("PAUSE");
return EXIT_SUCCESS;
【讨论】:
以上是关于需要 FtpGetFile 的示例,不工作的主要内容,如果未能解决你的问题,请参考以下文章
C语言如何用FtpPutFile()函数上传文件到Ftp服务器!下载用FtpGetFile()可以!
你好,这个你解决了吗?C语言如何用FtpPutFile()函数上传文件到Ftp服务器!下载用FtpGetFile()可以!