Qt使用QNetworkAccessManager实现Ftp操作
本文标题:Qt使用QNetworkAccessManager实现Ftp操作 本文地址:http://techieliang.com/2017/12/653/
1. 介绍
QtNetwork是Qt网络操作模块,提供了基于TCP/IP的各种API,除了之前介绍过的最基础的TCP及UDP通讯:QTcpSocket-Qt使用Tcp通讯实现服务端和客户端、QUdpSocket-Qt使用Udp通讯实现服务端和客户端,还提供了HTTP、HTTPS、FTP等高级API,并统一使用QNetworkAccessManager进行操作。HTTP操作请看:Qt使用QNetworkAccessManager实现Http操作
qt4x分别使用QFtp和QHttp,5以后统一用QNetworkAccessManager
2. 使用说明
首先请看:Qt使用QNetworkAccessManager实现Http操作
ftp与http操作完全一样,只不过需要设置一下用户名、密码、地址、端口、文件路径。这些操作只需要对QUrl做配置,其余不需要改变
分别调用QUrl的
- void setUserName(const QString &userName, ParsingMode mode = DecodedMode)
- void setPassword(const QString &password, ParsingMode mode = DecodedMode)
- void setHost(const QString &host, ParsingMode mode = DecodedMode)
- void setPort(int port)
- void setPath(const QString &path, ParsingMode mode = DecodedMode)
上述对于还需要配置一下:setScheme(“ftp”)
- void setScheme(const QString &scheme)
这个指的是 ftp:// 和http://由于并没有通过setUrl设置url,需要主动的指定scheme
上面分别指定了ftp以及ip,port及path,这四项可以直接setUrl但是建议分别调用组合
3. 上传与下载
下载就是get,除了QUrl配置不一样其他与http完全相同,最后把get得到的所有数据保存到文件即可
上传那就是put,先从文件读取出所有数据,然后put即可,注意读取完存为QByteArray
类型
Qt使用QNetworkAccessManager实现Ftp操作的更多相关文章
- Qt使用QNetworkAccessManager实现Http操作
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt使用QNetworkAccessManager实现Http操作 本文地址:http ...
- PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
/** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) * 时间:2006/5/9 * 作者:欣然随风 * QQ:276624915 */ class class_ftp { publi ...
- C# FTP操作
using System; using System.Collections.Generic; using System.Net; using System.IO; namespace FTP操作 { ...
- paip.c++ qt 目录遍历以及文件操作
paip.c++ qt 目录遍历以及文件操作 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/a ...
- 关于FTP操作的功能类
自己在用的FTP类,实现了检查FTP链接以及返回FTP没有反应的情况. public delegate void ShowError(string content, string title); // ...
- FtpHelper ftp操作类库
FtpHelper ftp操作类库 using System; using System.Collections.Generic; using System.Linq; using System.Te ...
- C# FTP操作类的代码
如下代码是关于C# FTP操作类的代码.using System;using System.Collections.Generic;using System.Text;using System.Net ...
- 【转载】C#工具类:FTP操作辅助类FTPHelper
FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样.可以通过C#中的FtpWebRequest类.NetworkCredential类.We ...
- Qt中与文件目录相关操作
一.与文件目录操作有关操作. Qt中与文件目录相关的操作在QDir中,需加入#include <QDir>语句. QDir::drives()是列出电脑根目录下的所有目录,返回的是QFil ...
随机推荐
- kubernetes常用基础命令
创建资源对象 创建名为nginx-deploy的控制器资源对象 [root@master ~]# kubectl run nginx-deploy --image=nginx:1.12 --repli ...
- verilog中初值定义
在利用verilog进行开发时,往往需要对某些寄存器进行赋初值,下面根据笔者在设计中遇到的情况进行分析. 例如下面是实现流水灯(4个led),代码如下: module ledrun ( input ...
- leetcode记录-反转整数
给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假 ...
- express添加权限拦截
express通过中间件的方式添加权限拦截 示例代码如下 app.get('/logout', checkLogin); app.get('/logout', function(req, res) { ...
- Python之路(六)---> 函数、变量
Python中的函数和数学上的函数定义是不一样的,从数学的角度上来说函数的定义:给定一个数集A,假设其中的元素为x.现对A中的元素x施加对应法则f,记作f(x),得到另一数集B.假设B中的元素为y.则 ...
- 20155227 2016-2017-2《Java程序设计》课程总结
20155227 2016-2017-2<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业1:我眼中的师生关系. 预备作业2:一些简单的C语言知识回顾,并总结之前一些成功的 ...
- 20155233 《Java程序设计》 实验三 敏捷开发与XP实践
20155233 <Java程序设计> 实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤与内容 1.在IDEA中使用工具(Code->Reformat ...
- 20155308 《Java程序设计》实验五 网络编程与安全
20155308 <Java程序设计>实验五 网络编程与安全 实验内容 任务一 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.ht ...
- 20145226夏艺华 网络对抗技术EXP4 恶意代码分析
20145226夏艺华 网络对抗技术EXP4 恶意代码分析(未完成版) 回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作 ...
- WPF GDI+字符串绘制成图片(二)
原文:WPF GDI+字符串绘制成图片(二) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83 ...