Chinaunix首页 | 论坛 | 博客
  • 博客访问: 274342
  • 博文数量: 47
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 648
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-01 17:20
文章存档

2011年(1)

2009年(46)

我的朋友

分类: LINUX

2009-03-27 15:16:22

功能强大的curl


1) 通过curl直接访问sina网站
curl 

2) 你也可以把sina保存期来
curl 
 > sina  或 curl -o sina 

3) 同时可以通过代理来访问网页
curl -x 10.54.38.18:8080 -o sina.html 

4) 可以把cookies存放到一个文件里
curl -x 10.54.38.18:8080 -o sina.html -D cookie002.txt  

5) 下一次访问的时候,如何继续使用上次留下的cookie信息呢?要知道,很多网站都是靠监视你的cookie信息,
来判断你是不是不按规矩访问他们的网站的。
这次我们使用这个option来把上次的cookie信息追加到http request里面去: -b
curl -x 10.54.38.18:8080 -o page1.html -D cookie0002.txt -b cookie0001.txt 

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 

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 "
" -o page.html -D cookie0001.txt 


8)ftp 下载

curl -u name:passwd 
或者大家熟悉的
curl 

10)说完下载说上传
上传的option是 -T

比如我们向ftp传一个文件: curl -T localfile -u name:passwd 

当然,向http服务器上传文件也可以
比如 curl -T localfile 

注意,这时候,使用的协议是HTTP的PUT method

刚才说到PUT,嘿嘿,自然让老服想起来了其他几种methos还没讲呢!
GET和POST都不能忘哦。

http提交一个表单,比较常用的是POST模式和GET模式

GET模式什么option都不用,只需要把变量写在url里面就可以了
比如:
curl 

而POST模式的option则是 -d

比如,curl -d "user=nickwolfe&password=12345" 
就相当于向这个站点发出一次登陆申请~~~~~

到底该用GET模式还是POST模式,要看对面服务器的程序设定。

一点需要注意的是,POST模式下的文件上的文件上传,比如





这样一个HTTP表单,我们要用curl进行模拟,就该是这样的语法:
curl -F 
 -F nick=go 

阅读(1939) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~