免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 875 | 回复: 0
打印 上一主题 下一主题

curl 介绍 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-26 23:37 |只看该作者 |倒序浏览

功能强大的curl
1) 通过curl直接访问sina网站
curl
http://www.sina.com.cn
2) 你也可以把sina保存期来
curl
http://www.sina.com
> sina  或 curl -o sina
http://www.sina.com.cn
3) 同时可以通过代理来访问网页
curl -x 10.54.38.18:8080 -o sina.html
http://www.sina.com.cn
4) 可以把cookies存放到一个文件里
curl -x 10.54.38.18:8080 -o sina.html -D cookie002.txt  
http://www.sina.com.cn
5) 下一次访问的时候,如何继续使用上次留下的cookie信息呢?要知道,很多网站都是靠监视你的cookie信息,
来判断你是不是不按规矩访问他们的网站的。
这次我们使用这个option来把上次的cookie信息追加到http request里面去: -b
curl -x 10.54.38.18:8080 -o page1.html -D cookie0002.txt -b cookie0001.txt
http://www.sina.com.cn
6)有些讨厌的网站总要我们使用某些特定的浏览器去访问他们,有时候更过分的是,还要使用某些特定的版本~~~~
哪里有时间为了它去找这些怪异的浏览器呢!?
好在curl给我们提供了一个有用的option,可以让我们随意指定自己这次访问所宣称的自己的浏览器信息: -A
curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -x 10.54.38.18:8080 -o sina.html -D cookie0001.txt
http://www.sina.com.cn
7)
另外一个服务器端常用的限制方法,就是检查http访问的referer。比如你先访问首页,再访问里面所指定的下载页,这第二次访问的referer地址就是第一次访问成功后的页面地址。这样,服务器端只要发现对下载页面某次访问的referer地址不 是首页的地址,就可以断定那是个盗连了~~~~~
讨厌讨厌~~~我就是要盗连~~~~~!!
幸好curl给我们提供了设定referer的option: -e
curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -x 10.54.38.18:8080 -e "
www.sina.com.cn
" -o page.html -D cookie0001.txt
http://login.sina.com.cn
8)ftp 下载
curl -u name:passwd
ftp://ip:port/path/file
或者大家熟悉的
curl
ftp://name:passwd@ip:port/path/file
10)说完下载说上传
上传的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.sina.com/login.cgi?user=nickwolfe&password=12345
而POST模式的option则是 -d
比如,curl -d "user=nickwolfe&password=12345"
http://www.sina.com/login.cgi
就相当于向这个站点发出一次登陆申请~~~~~
到底该用GET模式还是POST模式,要看对面服务器的程序设定。
一点需要注意的是,POST模式下的文件上的文件上传,比如
这样一个HTTP表单,我们要用curl进行模拟,就该是这样的语法:
curl -F
[email=upload=@localfile]upload=@localfile[/email]
-F nick=go
http://cgi2.tky.3web.ne.jp/~zzh/up_file.cgi


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/40306/showart_1844729.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP