上传下载工具Curl 使用笔记
(附中文手册)
1.what is curl
curl是利用URL语法在命令行方式下工作的文件传输工具。curl是瑞典curl组织开发的开源项目。
它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。
curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证,HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,上载文件断点续传,,http代理服务器管道( proxy tunneling), 甚至它还支持IPv6, socks5代理服务器,,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。
其他废话见百度百科curl
2.简单命令
列出ftp服务器上的目录列表:
curl ftp://192.168.3.108/ -u tzf:tzf #简洁写法
只列出目录,不显示进度条
curl ftp://192.168.3.108 -u tzf:tzf -s
下载一个文件:
curl ftp://192.168.3.108/0-01.prt -u tzf:tzf -o f:/tt.prt
上载一个文件:
curl -u tzf:tzf -T c:/setup.log ftp://192.168.3.108/
从服务器上删除文件(使用curl传递ftp协议的DELE命令
curl -u tzf:tzf ftp://192.168.3.108/ -X 'DELE /tzf/setup.log'
另外curl不支持递归下载,不过可以用数组方式下载文件,比如我们要下载1-10.gif连续命名的文件:
curl –u name:passwd ftp://malu.me/img/[1-10].gif –O #O字母大写
要连续下载多个文件:
curl –u name:passwd ftp://malu.me/img/[one,two,three].jpg –O #O字母大写
// 1.4 上传数据
//curl -u tzf:tzf -T c:/setup.log ftp://192.168.3.108/
QString scmd = QString("%1 -u %2:%3 -T %4 %5").arg(curlpath, user, pass, sDesPath, sftppath);
QProcess proc(0);
retcode = proc.execute(scmd);
if (retcode != -1)
{
}
4.资料链接
1.官网:http://curl.haxx.se/
2.我整理的文档(中文用户手册、基本命令、curl.exe)
5.个人拙见
开发中拿这个小工具做了测试,效果不错,我用的是FTP协议,但是上传速度实在太慢,导致这个程序假死。最终放弃,改用了数据流上传方式。
有使用过的朋友们,欢迎留言说一样上传下载速度问题。感谢之!