ftp客户端 可以登录但是下载不了的解决

最近有一个项目,采用了ftp从服务器下载文件,使用qftp来实现,连接ftp服务器成功,登录也没问题,但是在get文件的时候会卡住,程序没有往下走,也不抛异常。

出现这种故障,问题无非三种

1,客户端问题  (1 检查防火墙)(2站点模式:被动模式和主动模式切换测试)

2,服务器端问题;(有的主机下载正常,所以排除服务器问题)

3,线路问题(检查交换机和路由)

 

最后测试出是被动模式下,没有权限获取文件。解决办法qftp设置传输模式为主动模式。

ftp->setTransferMode(QFtp::Active);

 

 

另外记录下(非本次问题原因,只是觉得重要,算是个小知识点)——ftp有两种数据传输方式:二进制模式和ascll模式。

二进制模式是将文件直接传到服务器,不做任何改动。
ascll模式会将回车换行符修改为本机的回车换行符,会对源文件进行修改。比如windows的是‘\r\n’传送到unix会变成‘\n’。
基于这样的特性,在传输文本文件时我们通常使用ascll模式,而传输图片或者可执行文件时就需要切换为二进制模式。
        需要注意的是在使用ascll模式打开服务器上图片时也会显示错误,因为程序会将图片传送到本地的临时文件,再打开。这也相当于对源文件进行了修改,所以只对服务器上的图片进行查看也需要切换为二进制模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值