linux curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。
一,curl命令参数,有好多我没有用过,也不知道翻译的对不对,如果有误的地方,还请指正。
二,常用curl实例
1,抓取页面内容到一个文件中
-
[root@krlcgcms01 mytest]# curl -o home.html http:
2,用-O(大写的),后面的url要具体到某个文件,不然抓不下来。我们还可以用正则来抓取东西
-
[root@krlcgcms01 mytest]# curl -O http:
-
[root@krlcgcms01 mytest]# curl -O http:
3,模拟表单信息,模拟登录,保存cookie信息
-
[root@krlcgcms01 mytest]# curl -c ./cookie_c.txt -F log=aaaa -F pwd=****** http:
4,模拟表单信息,模拟登录,保存头信息
-
[root@krlcgcms01 mytest]# curl -D ./cookie_D.txt -F log=aaaa -F pwd=****** http:
-c(小写)产生的cookie和-D里面的cookie是不一样的。
5,使用cookie文件
-
[root@krlcgcms01 mytest]# curl -b ./cookie_c.txt http:
6,断点续传,-C(大写的)
-
[root@krlcgcms01 mytest]# curl -C -O http:
7,传送数据,最好用登录页面测试,因为你传值过去后,curl回抓数据,你可以看到你传值有没有成功
-
[root@krlcgcms01 mytest]# curl -d log=aaaa http:
8,显示抓取错误,下面这个例子,很清楚的表明了。
-
[root@krlcgcms01 mytest]# curl -f http:
-
curl: (22) The requested URL returned error: 404
-
[root@krlcgcms01 mytest]# curl http:
-
-
404,not found
-
。。。。。。。。。。。。
9,伪造来源地址,有的网站会判断,请求来源地址。
-
[root@krlcgcms01 mytest]# curl -e http:
10,当我们经常用curl去搞人家东西的时候,人家会把你的IP给屏蔽掉的,这个时候,我们可以用代理
-
[root@krlcgcms01 mytest]# curl -x 24.10.28.84:32779 -o home.html http:
11,比较大的东西,我们可以分段下载
-
[root@krlcgcms01 mytest]# curl -r 0-100 -o img.part1 http:
-
-
content/uploads/2010/09/compare_varnish.jpg
-
% Total % Received % Xferd Average Speed Time Time Time Current
-
Dload Upload Total Spent Left Speed
-
100 101 100 101 0 0 105 0 --:--:-- --:--:-- --:--:-- 0
-
[root@krlcgcms01 mytest]# curl -r 100-200 -o img.part2 http:
-
-
content/uploads/2010/09/compare_varnish.jpg
-
% Total % Received % Xferd Average Speed Time Time Time Current
-
Dload Upload Total Spent Left Speed
-
100 101 100 101 0 0 57 0 0:00:01 0:00:01 --:--:-- 0
-
[root@krlcgcms01 mytest]# curl -r 200- -o img.part3 http:
-
-
content/uploads/2010/09/compare_varnish.jpg
-
% Total % Received % Xferd Average Speed Time Time Time Current
-
Dload Upload Total Spent Left Speed
-
100 104k 100 104k 0 0 52793 0 0:00:02 0:00:02 --:--:-- 88961
-
[root@krlcgcms01 mytest]# ls |grep part | xargs du -sh
-
4.0K one.part1
-
112K three.part3
-
4.0K two.part2
用的时候,把他们cat一下就OK了,cat img.part* >img.jpg
12,不会显示下载进度信息
-
[root@krlcgcms01 mytest]# curl -s -o aaa.jpg http:
13,显示下载进度条
-
[root@krlcgcms01 mytest]# curl -# -O http:
-
######################################################################## 100.0%
14,通过ftp下载文件
-
[zhangy@BlackGhost ~]$ curl -u 用户名:密码 -O http:
-
% Total % Received % Xferd Average Speed Time Time Time Current
-
Dload Upload Total Spent Left Speed
-
101 1934 101 1934 0 0 3184 0 --:--:-- --:--:-- --:--:-- 7136
或者用下面的方式
-
[zhangy@BlackGhost ~]$ curl -O ftp:
15,通过ftp上传
-
[zhangy@BlackGhost ~]$ curl -T test.sql ftp:
阅读(1814) | 评论(0) | 转发(0) |