curl https://api.github.com
超媒体API的目标之一,是让客户端在不重新便编写代码的前提下动态调整所用的端点。
使用jq可以在命令行中解析JSON
jq安装方式
os系统可以用brew
brew install jq
示例用法:
curl https://api.github.com | jq '.current_user_url' curl -s https://api.github.com/users/xrd/repos | jq '.[0].owner.id'cURL的调试开关
使用 -i 开关打印请求头部
curl -i https://apis.github.com使用 -v开关请求和响应首部
curl -v https://apis.github.com使用条件请求规避频率限制
If-Modified-Since (对应时间) 和 If-None-Match(对应ETag)
curl -i https://api.github.com/repos/twbs/bootstrap -H "If-Modified-Since: Sun, 11 Aug 2013 19:48.59 GMT"
curl -i https://api.github.com/repos/twbs/bootstrap -H 'If-None-Match: "dd05e06d7110bed317b80f8dc2cabf6d"'
JSON-P例子
Document
指定响应的内容格式
URL='https://api.github.com/repos/rails/rails/issues/11819'curl -s $URL | jq '.body'curl -s $URL | jq '.body_html'curl -s $URL H "Accept: application/vnd.github.html+json" | jq '.body_html'