很简单,装一个jq的解析软件。yum安装也行哈。如下:

  1. curl -d "serial_code=274808&rule_id=10" "http://webroot.dev/mobileqq/coupon/member-receive-coupon" |jq '.' -S

-S 表示对json里的key值排序,要注意的是,"http://" 这一串东西要加引号引起来。
上面的只是带上了data,不同的参数还是有&连起来,要是我们要模拟cookie怎么办呢?来一个大招:

  1. curl -b "userid=666146714&sessionid=F3519F9395CDAB54A2CE4311A33C554447691716EF8114577DD5BD9F3DF4F050D8EADFB0DFC962FA721D60F19B6087137853BB193F460D15A8786DE31A37D170" -d "a=1" "http://active.live.shaohualee.com/caller?c=hot&a=getRank" |jq '.' -S

带上-b参数,就好啦,带上服务器中要用到的cookie,例如我的服务器要用到userid和sessionid。
又如何获取到cookie呢?当然用chrome啦。
如图:如何在chrome中获取cookie

curl的一些参数:
-b 参数 指定使用cookie文件

-c是往cookie文件中写cookie

-d 是指定此次登录所需的参数,通过httpfox查看

-L 指定页面自动跳转

curl也可以post请求json格式数据:

  1. curl -H "Content-type: application/json" -X POST -d '{"srcRef":"1002"}' "http://www.baidu.com/hello/1002"

其实也可以用wget来模拟post请求, 使用wget命令:(—post-data参数来实现):

  1.   wget --post-data 'user=foo&password=bar' http://www.baidu.com

参考:https://stedolan.github.io/jq/tutorial/

分类: web

标签:   linux   curl