FTP得到文件出错

bristy 2015-12-10 05:14:24
同一个FTP程序.在两个SERVER拿同名的文件,一个能成功拿到,别一个返回12003的错误.不知为什么会出现这样的情况.
报错的那个FTP地址帐号密码都没问题.我在本地直接FTP可以打开并拿到文件(因为程序能拿到另一个SERVER的文件,所以实在找不出是什么问题了).请大家帮帮忙
char sz_msg[128] = {0};
BOOL bRes;
HINTERNET hInternet;
HINTERNET hConnect;
hInternet = InternetOpen("A3GS Sample",
INTERNET_OPEN_TYPE_DIRECT,
NULL,
NULL,
INTERNET_FLAG_NO_CACHE_WRITE);
if ( NULL == hInternet )
{
_snprintf(sz_msg, sizeof(sz_msg) - 1, "InternetOpen Error:%d", GetLastError());
InsertLogs(sz_msg);
return 0;
}
hConnect = InternetConnect(hInternet,
m_FtpCon.server,
INTERNET_DEFAULT_FTP_PORT,
m_FtpCon.login,
m_FtpCon.password,
INTERNET_SERVICE_FTP,
INTERNET_FLAG_EXISTING_CONNECT || INTERNET_FLAG_PASSIVE,
0 );
if ( NULL == hInternet )
{
_snprintf(sz_msg, sizeof(sz_msg) - 1, "InternetConnect Error:%d", GetLastError());
InsertLogs(sz_msg);
InternetCloseHandle(hInternet);
return 0;
}

//======================
//设置ftp的文件所在的文件夹,FTP文件路径,无目录用""代替pFtpFilePath = ""
FtpSetCurrentDirectory (hConnect, pFtpFilePath) ;//----FTP上的文件路径----
bRes = FtpGetFile(hConnect,
pFtpFileName, //---FTP上的文件名
pLocalFileName, //---本地文件名带路径
FALSE,
FILE_ATTRIBUTE_ARCHIVE,
FTP_TRANSFER_TYPE_UNKNOWN,
0);
if ( bRes == 0 )
{
//----这个地方返回12003----
_snprintf(sz_msg, sizeof(sz_msg) - 1, "FtpGetFile Error:%d", GetLastError());
InsertLogs(sz_msg);
InternetCloseHandle(hConnect);
InternetCloseHandle(hInternet);
return 0;
}.
...全文
133 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-12-11
  • 打赏
  • 举报
回复
FTP_TRANSFER_TYPE_UNKNOWN|INTERNET_FLAG_TRANSFER_BINARY , 试试看

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧