注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

曾国藩的博客

 
 
 

日志

 
 

cURL使用  

2012-09-21 14:30:29|  分类: RedhatLinux和Cen |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
http://hi.baidu.com/yanaimingvov/item/b29d77c7534fe3ddef183b3a

cURL是我在Linux上经常用的一个小工具,我理解它是一个“客户端”。今天记录一下我的使用心得。达人请忽略。

cURL是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP,  FTPS,  HTTP, HTTPS, GOPHER等。

场景一:测试域名绑定

我常需要在开发环境中,测试某台服务器上的Web Server是否正确绑定了域名。比如,我希望在服务器192.168.1.10上绑定www.kuqin.com。但需要修改hosts才能看到效果,这活儿很累人。

所谓“域名绑定”,就是把host映射到对应的目录。如果手头有cURL,可以使用 -H 参数,在请求头信息中多写一个 Host 字段。就可以测试是否配置正确了。

# curl -H "Host: www.kuqin.com" http://192.168.1.10/

场景二:查看头信息

响应头信息中包含了很多东西。除了HTTP版本和响应代码,还有Server、Content-Type、Content-Length等信息,如果有写入Cookie的操作,也会体现在头信息中。

使用cURL的 -I 参数,就可以看到这些头信息。比如淘宝的:

# curl -I http://www.taobao.com/HTTP/1.1 200 OKDate: Sun, 14 Feb 2010 08:57:35 GMTServer: ApacheSet-Cookie: abt=b; expires=Sun, 28-Feb-2010 08:57:35 GMT; path=/; domain=www.taobao.comat_catetype: b (咦,这是什么?)Set-Cookie: _lang=zh_CN:GBK; Domain=.taobao.com; Path=/Cache-Control: max-age=3600Expires: Sun, 14 Feb 2010 09:57:35 GMTVary: Accept-EncodingContent-Type: text/html; charset=GB2312Content-Language: cn

我昨天也修改了一下我服务器的server信息,大家感兴趣可以 curl -I http://www.kuqin.com/ 看看。

这里插一句,不建议把使用Web服务器的版本暴露出来(其实服务器信息也最好隐藏掉,或者把Apache伪装成nginx什么的  )。免得突然爆出漏洞时,措手不及,被人利用。

场景三:跟踪URL跳转

如果遇到了一个多次跳转的URL,可以先用curl的 -L 参数看看,这个URL最终跳转到了什么地方。-L 参数最好配合 -I 使用,不然cURL会把最后一次请求获得的数据输出到控制台。

没有合适的URL拿来做例子,意会一下吧 

场景四:发送压缩的请求

cURL提供了一个 –compress 参数,可以用来发送支持压缩的请求。但使用了–compress之后,虽然传输过程是压缩的,cURL的输出还是解压之后的,难以看到效果。

我一般用 -H 参数,自己写一个 Accept-Encoding 字段在头信息中。

curl -H "Accept-Encoding: gzip" http://www.kuqin.com/

如果直接运行上面的命令,会得到一堆乱码,因为cURL输出的内容,是压缩后的数据。不妨在后面接一个gunzip试试。

curl -H "Accept-Encoding: gzip" http://www.kuqin.com/ | gunzip

使用gunzip解压之后,信息又被还原了。

场景五:忽略证书错误

平日上网,遇到证书错误一定要小心。但我在工作中,经常需要用自签的假证书搭建开发环境。cURL在遇到证书错误时罢工,使用 -k 参数就可以让它不做证书校验。

  评论这张
 
阅读(771)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018