linux执行http指令,curl   liinux下http命令执行工具

Curl是Linux下一个很强大的http命令行工具,其功能十分强大。1) 二话不说,先从这里开始吧!$ curl http://www.linuxidc.com回车之后,www.linuxidc.com 的html就稀里哗啦地显示在屏幕上了    ~2) 嗯,要想把读过来页面存下来,是不是要这样呢?$ curl http://www.linuxidc.com > page.html当然可以,但不用这么麻烦的!用curl的内置option就好,存下http的结果,用这个option: -o$ curl -o page.html http://www.linuxidc.com这样,你就可以看到屏幕上出现一个下载页面进度指示。等进展到100%,自然就 OK咯3) 什么什么?!访问不到?肯定是你的proxy没有设定了。使用curl的时候,用这个option可以指定http访问所使用的proxy服务器及其端口: -x$ curl -x 123.45.67.89:1080 -o page.html http://www.linuxidc.com4) 访问有些网站的时候比较讨厌,他使用cookie来记录session信息。像IE/NN这样的浏览器,当然可以轻易处理cookie信息,但我们的curl呢?.....我们来学习这个option: -D 下载后: 001-zzh.JPG 原来: ~nick/001.JPG —-> 下载后: 001-nick.JPG这样一来,就不怕文件重名啦,呵呵9)继续讲下载我们平时在windows平台上,flashget这样的工具可以帮我们分块并行下载,还可以断线续传。curl在这些方面也不输给谁,嘿嘿比如我们下载screen1.JPG中,突然掉线了,我们就可以这样开始续传$ curl -c -O http://cgi2.tky.3wb.ne.jp/~zzh/screen1.JPG当然,你不要拿个flashget下载了一半的文件来糊弄我    别的下载软件的半截文件可不一定能用哦 ~分块下载,我们使用这个option就可以了: -r举例说明比如我们有一个http://cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 要下载(赵老师的电话朗诵 :D )我们就可以用这样的命令:$ curl -r 0-10240 -o "zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &\$ curl -r 10241-20480 -o "zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &\$ curl -r 20481-40960 -o "zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &\$ curl -r 40961- -o "zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3这样就可以分块下载啦。不过你需要自己把这些破碎的文件合并起来如果你用UNIX或苹果,用 cat zhao.part* > zhao.MP3就可以如果用的是Windows,用copy /b 来解决吧,呵呵上面讲的都是http协议的下载,其实ftp也一样可以用。用法嘛,$ curl -u name:passwd ftp://ip:port/path/file或者大家熟悉的$ curl ftp://name:passwd@ip:port/path/file10) 说完了下载,接下来自然该讲上传咯上传的option是 -T比如我们向ftp传一个文件:$ curl -T localfile -u name:passwd ftp://upload_site:port/path/当然,向http服务器上传文件也可以比如$ curl -T localfile http://cgi2.tky.3web.ne.jp/~zzh/abc.cgi注意,这时候,使用的协议是HTTP的PUT method刚才说到PUT,嘿嘿,自然让老服想起来了其他几种methos还没讲呢! GET和POST都不能忘哦。http提交一个表单,比较常用的是POST模式和GET模式GET模式什么option都不用,只需要把变量写在url里面就可以了比如:$ curl http://www.linuxidc.com/login.cgi?user=nickwolfe&password=12345而POST模式的option则是 -d比如,$ curl -d "user=nickwolfe&password=12345" http://www.linuxidc.com/login.cgi就相当于向这个站点发出一次登陆申请    ~到底该用GET模式还是POST模式,要看对面服务器的程序设定。一点需要注意的是,POST模式下的文件上的文件上传,比如

这样一个HTTP表单,我们要用curl进行模拟,就该是这样的语法:$ curl -F upload=@localfile -F nick=go http://cgi2.tky.3web.ne.jp/~zzh/up_file.cgi罗罗嗦嗦讲了这么多,其实curl还有很多很多技巧和用法比如 https的时候使用本地证书,就可以这样$ curl -E localcert.pem https://remote_server再比如,你还可以用curl通过dict协议去查字典    ~$ curl dict://dict.org/d:computer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值