linux命令之curl学习笔记

最开始了解到这个命令是在使用postman的时候,
postman有一个查看code的功能, 也就是将此次请求以不同编程语言显示, 这时才知道linux 有个curl命令, 感觉还很强大的样子.

一个常见用法, 请求百度首页, 这个例子可以满足我们80%的需要

curl --dump-header header.txt \ # 保存响应头部
-o index.html \ # 保存页面内容
-c cookie.txt \ # 保存cookie
-e https://www.baidu.com \ # 设置Referer
-d 'username=xxx&password=yyy' # 请求数据, 带上它即为POST请求, GET请求可以在请求地址后直接拼参数
https://login.xxx.com # 请求地址

为什么说是80%呢? 比如要做一个模拟登录, 这里通常都要带上cookie发请求.
所以经常用的还有个选项-b, 后面跟cookie字符串或者cookie文件. 如:

curl -b cookie.txt https://www.baidu.com

上面的这几个参数已经能满足我们绝大多数需求了, 再搭配一些linux内置命令, 完成一个模拟登录还是不难的.

那有哪些比较实用的选项呢?

选项说明例子
-A添加ua-A ‘Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)’
-s安静模式, 不往命令行输出curl -s url
-v输出更多信息, 方便调试curl -v url
-C断点续传
-H添加请求头curl -H ‘X-From:xxx’ -H ‘X-key:value’
-I只显示文档响应头curl -I https://www.baidu.com
-L自动跳转(根据Location响应头)
-o保存为文件curl -o abc.html https://www.baidu.com

补充(2018-10-14): -s选项可以只输出http response body,如:

[gl@gl ~]$ curl -s http://192.168.31.65:9200/_search?pretty
{
  "took" : 0,
  "timed_out" : false,
  "_shards" : {
    "total" : 0,
    "successful" : 0,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 0,
    "max_score" : 0.0,
    "hits" : [ ]
  }
}

个人感觉用以上这些参数可以应付绝大多数场景.

欢迎补充指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值