linux ftp下载函数函数,FTP下载的函数
最近写的一个到指定FTP下载服务器上下载的函数,主要用到类有CInternetSession,CFtpConnection
具体内容看代码吧,这个不能的!虽然很简单,不值得往外写,但我想收藏起来留着以后用也是很有意义的。
/************************************************************************/
/* 到指定的FTP服务器上下载的函数 */
/* liuxwin */
/* 20006.12.29 */
/* 返回值: 成功 TRUE, 失败 FALSE */
/*
参数说明:
FtpPath 要下载的ftp 目录或文件
localPath 保存到本地的目录
ftpAdd ftp地址
ftpSuser 登陆ftp的用户名
ftpPass 登陆ftp的密码
sErr 发生错误时,返回的错误信息*/
/************************************************************************/
BOOL GetFileFromFTP( CString FtpPath, CString LocalPath ,CString ftpAdd, CString ftpUser, CString ftpPass, CString &sErr )
{
CString sTemp ;
CString sLocalTemp ;
CString sTempFtpPath ;
CInternetSession pInternetCon(AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS);
CFtpConnection *pFtpCon ;
try
{
pFtpCon =pInternetCon.GetFtpConnection( ftpAdd, ftpUser, ftpPass, INTERNET_DEFAULT_FTP_PORT );
if ( pFtpCon != NULL)
{
CFtpFileFind FtpFinder( pFtpCon ) ;
BOOL bWork = FtpFinder.FindFile( FtpPath );
while ( bWork )
{
bWork = FtpFinder.FindNextFile() ;
if ( FtpFinder.IsDots() )
continue;
if(FtpFinder.IsDirectory() )
{ //是目录
sTemp.Empty() ;
sTemp = FtpFinder.GetFileName() ;
sTempFtpPath.Empty() ;
sTempFtpPath = FtpPath + "/"+ sTemp ;
sLocalTemp.Empty() ;
sLocalTemp = LocalPath + "\\" + sTemp ;
CFileStatus rStatus;
if( !( CFile::GetStatus( sLocalTemp, rStatus ) ) )
{//文件夹不存在, 创建之
if( !(CreateDirectory((LPCTSTR)sLocalTemp, NULL)) )
{//创建失败
DWORD dErr = GetLastError() ;
sErr.Format( "创建新目录失败: ERROR %d" ,dErr ) ;
return FALSE ;
}
}
GetFileFromFTP( sTempFtpPath, sLocalTemp, ftpAdd, ftpUser, ftpPass, sErr ) ;
}
else
{
sTemp.Empty() ;
sTemp = FtpFinder.GetFileName();
sLocalTemp.Empty() ;
sLocalTemp = LocalPath + "\\" + sTemp ;
sTemp.Empty() ;
sTemp = FtpFinder.GetFilePath();//
CFileStatus rStatus;
if( !( CFile::GetStatus( sLocalTemp, rStatus ) ) )
{//文件不存在,下载之
if( !( pFtpCon->GetFile( sTemp, sLocalTemp, true, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_BINARY, 1) ) )
{//下载失败
DWORD dErr = GetLastError() ;
sErr.Format( "下载失败: ERROR %d" ,dErr ) ;
return FALSE ;
}
else
WriteLog( "下载成功", 1 ) ;
}
}
}
FtpFinder.Close() ;
}
}
catch (CInternetException * pEx)
{
TCHAR szError[1024];
pEx->GetErrorMessage(szError,1024) ;
sErr.Format( "连接FTP失败:%s", pEx ) ;
pEx->Delete();
pFtpCon=NULL;
return FALSE ;
}
return TRUE ;
}
linux ftp下载函数函数,FTP下载的函数相关推荐
- linux curl 命令 http请求、下载文件、ftp上传下载
1. curl 命令简介 cURL(CommandLine Uniform Resource Locator),是一个利用 URL 语法,在命令行终端下使用的网络请求工具,支持 HTTP.HTTPS. ...
- linux 关闭开机 ftp,解决linux ftp匿名上传、下载开机自启问题
如果在平时学习,工作中经常使用 ftp 服务器 ,可以设置成开机自启,在设置之前要先了解几个关于自启的命令: 1.chkconfig 命令 主要作用:用于检查,设置系统的各种服务.其中有几个重要参数, ...
- linux ftp 登录慢,linux中vsftpd登录,上传下载文件慢解决办法linux操作系统 -电脑资料...
vsftpd登录慢主要是nameserver #定义DNS服务器的IP地址没有设置了,这样我们只要设置或更新一下nameserver即可解决了, 在使用vsftpd的过程中,一直以来都有一个问题就是在 ...
- linux ftp匿名只能下载,04. 创建匿名用户能够上传下载,或只能下载的目录
Re:FTP 文件传输服务 ========================== FTP 服务不论在企业或教学中,是很常用的文件共享方式,它既可以做到匿名访问,也可以做到用户名和密码访问,更可以做到只 ...
- linux ftp 查找文件,Linux shell ftp命令根据文件日期下载文件的方法
需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" & ...
- linux Centos的ftp搭建-配置-上传下载文件--全面版
ftp搭建 一.搭建前提 a.ssh服务已经开启,b.防火墙关闭,c.连网 1.查看ssh和防火墙的状态 service sshd status service iptables stat ...
- 【踩坑】Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题
[踩坑]Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题 一. 问题重现 二. 问题解决思路 1. 确认是不是上传就导致数据出错了 2. 是不是平台问题 三. ...
- linux上传文件命令ftp put,Linux ftp 命令行中下载文件get与上传文件put的命令应用详解...
介绍:从本地以用户anok登录的机器192.168.0.16上通过ftp远程登录到192.168.0.6的ftp服务器上,登录用户名是peo.以下为使用该连接做的实验. 查看远程ftp服务器上用户pe ...
- linux带特殊字符的用户密码,ftp密码带特殊字符的下载链接怎么弄?
想用命令行调用IDm下载!我们知道,一般的ftp的下载链接格式是这样子的:ftp://username:[email protected]/file.zip 比如: ftp://admin:[emai ...
- linux ftp匿名只能下载,解决linux ftp匿名上传、下载开机自启问题
解决linux ftp匿名上传.下载开机自启问题 如果在平时学习,工作中经常使用 FTP 服务器 ,可以设置成开机自启,在设置之前要先了解几个关于自启的命令: 1.chkconfig 命令 主要作用: ...
最新文章
- 大而强 VS 小而美 | 史晓东、周明等共论:大模型主导的时代,NLP 该如何演进?...
- SQL小技巧系列 --- 行转列合并
- 「前端组件化」该怎么理解?
- PostgreSQL复制特性历史漫谈-士别三日,当刮目相看
- Oracle存储过程游标for循环怎么写
- HTML--day02
- YALMIP学习总结
- 派生类中重新定义虚函数及虚函数的注意事项
- 冲刺大厂每日算法面试题,动态规划21天——第十二天
- 【EdgeX(13)】 :EdgeX官方的摄像头demo-app,接入摄像头可以控制摄像头的上下左右方向,创建OpenVINO的目标检测跟踪服务,并成功接受到相关坐标数据,可以直接做边缘计算了。
- 数据结构---线性表
- 阿里天池“水果店小系统”的python实现
- 浅析PowerBuilder下动态SQL语句
- 情人节最全送礼指南、实用又好看的礼物推荐
- 数据结构:单链表包含(归并)
- nag在逆向中是什么意思_[求助]关于NAG删除资源的问题。
- 教你使用python做一段魔性的音乐
- Java Missing method body, or declare abstract
- NUIST 9th 校赛 P4
- android 自定义特效,Android自定义View:实现炫酷的点赞特效
热门文章
- Kubernetes operator 模式开发实践
- 如何实现一次编码,到处运行?新一代云端一体化探索
- Knative Serving 之路由管理和 Ingress
- GMTC2019|闲鱼-基于Flutter的架构演进与创新
- 阿里云大数据总监:计算让城市更智能
- 开源工具Arena,数据科学家再也不用为Kubernetes犯难啦!
- 像搭“乐高”一样实现整合式网络安全体系
- 专访世界顶级游戏背后的男人
- 备战双 11!蚂蚁金服万级规模 K8s 集群管理系统如何设计?
- 神龙X-Dragon,这技术“范儿”如何?| 问底中国IT技术演进