实用命令行工具详解(一)—curl
浏览:2667次 出处信息
开发web应用时经常需要接口调试,有很多现成的工具可以使用,但大部分都比较复杂,太笨重,个人感觉比较好用的就是postman和curl了,基本可以应付各种调试需求
curl是一个数据传输工具,支持HTTP, HTTPS, FTP, FTPS, TFTP, DICT, TELNET, LDAP or FILE 协议。该命令不支持用户交互
curl www.javaranger.com
如果要把这个网页保存下来,可以使用-o参数,相当于wget命令
curl -o fileName www.javaranger.com
或
curl www.javaranger.com >1.txt
显示头信息(-I只显示头信息)
curl -i www.javaranger.com
有的网址是自动跳转的。使用-L参数,curl就会跳转到新的网址。
curl -L www.javaranger.com
-v参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。
curl -v www.javaranger.com<br /><br />curl --trace www.javaranger.com
发送post信息(-H是添加请求头, -d是请求体)
curl -H "Content-Type:application/soap+xml; charset=UTF-8" -d@/tmp/feiren http://113.105.64.226/v1/NorthBoundAPIService.asmx<br />
添加User Agent
curl --user-agent "[User Agent]" www.javaranger.com
添加cookie
curl --cookie "name=xxx" www.javaranger.com
查看接口相应时间
curl -o /dev/null -s -w "%{time_connect}:%{time_starttransfer}:%{time_total}\n" http://www.javaranger.com第一个是从命令启动到链接上用的时间
冒号是分隔符(可以在自己的 -w 模板里头修改这个分隔符,比如可以用\t或者|,自己改改看)
第二个字段,是开始传输数据所用的时间
第三个字段,是完成传输所用的时间
这三个时间对于判断网络状况和系统性能是很有帮助的
再比较下面两个命令结果的不同:
$ export $SEP='|'<br />$ curl -o 1.txt -s -w "%{time_connect}$SEP%{time_starttransfer}$SEP%{time_total}\n" http://www.javaranger.com</p><p>$ curl -o 1.txt -s -w '%{time_connect}$SEP%{time_starttransfer}$SEP%{time_total}\n' http://www.javaranger.com</p><p>结果:
0.12|3.23|3.35
0.12$SEP3.23$SEP3.35
” “(双引号)包围的字串里头会替换变量
‘ ‘单引号里面你的字符串不会被替换。
建议继续学习:
- vim几个小技巧(批量替换,列编辑) (阅读:36795)
- ps - 按进程消耗内存多少排序 (阅读:12117)
- Rolling cURL: PHP并发最佳实践 (阅读:11067)
- 100个常用的linux命令 (阅读:11064)
- find命令的一点注意事项 (阅读:11072)
- 每个程序员都应该知道的8个Linux命令 (阅读:10250)
- 最受欢迎的10个 Linux 单行命令 (阅读:9628)
- curl 命令使用cookie (阅读:9429)
- Linux date 命令获取某日期的前一天 (阅读:9279)
- ps 命令常见用法 (阅读:8883)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Linux内核文件系统挂载分析
后一篇:实用命令行工具详解(二)—siege >>
文章信息
- 作者:Eric 来源: JavaRanger - 专注JAVA高性能程序开发、JVM、Mysql优化、算法
- 标签: curl 命令
- 发布时间:2014-11-30 23:24:22
建议继续学习
近3天十大热文
-
[928] WordPress插件开发 -- 在插件使用 -
[134] 解决 nginx 反向代理网页首尾出现神秘字 -
[53] 整理了一份招PHP高级工程师的面试题 -
[52] 如何保证一个程序在单台服务器上只有唯一实例( -
[51] 海量小文件存储 -
[51] 用 Jquery 模拟 select -
[50] 全站换域名时利用nginx和javascri -
[50] Innodb分表太多或者表分区太多,会导致内 -
[49] CloudSMS:免费匿名的云短信 -
[47] jQuery性能优化指南
