前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超媒体API

超媒体API

作者头像
lilugirl
发布2019-05-28 17:50:53
7200
发布2019-05-28 17:50:53
举报
文章被收录于专栏:前端导学前端导学

curl https://api.github.com

超媒体API的目标之一,是让客户端在不重新便编写代码的前提下动态调整所用的端点。

使用jq可以在命令行中解析JSON

jq安装方式

os系统可以用brew

代码语言:javascript
复制
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例子

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
  <script>
    function myCallBack(payload) {
      console.log('payload', payload);
    }
  </script>
  <script src="https://api.github.com/?callback=myCallBack">
  </script>


</body>

</html>

指定响应的内容格式

代码语言:javascript
复制
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'
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用jq可以在命令行中解析JSON
  • cURL的调试开关
  • 使用条件请求规避频率限制
  • JSON-P例子
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档