新闻中心

Linux 怎么抓接口返回值?curl 结合 jq 实战

2025-12-04
浏览次数:
返回列表
Linux下抓接口返回值最常用高效的方式是curl + jq组合:curl发起HTTP请求获取原始响应,jq解析JSON精准提取字段;需先安装jq,再用-s静默模式、-H加请求头、-d发POST数据,配合.r去引号、-e判错等参数实现干净稳定可复用的提取。

linux 怎么抓接口返回值?curl 结合 jq 实战

Linux 下抓接口返回值,最常用也最高效的方式就是 curl + jq 组合:curl 负责发起 HTTP 请求并获取原始响应,jq 负责解析 JSON 并精准提取字段。关键不是“能不能拿到”,而是“怎么拿得干净、稳定、可复用”。

先确认环境有没有 jq

很多 Linux 发行版默认不带 jq,直接运行会报 command not found

  • Ubuntu/Debian:sudo apt install jq
  • CentOS/RHEL/Fedora:sudo yum install jqsudo dnf install jq
  • macOS(Homebrew):brew install jq

装好后执行 jq --version 确认可用。

基础用法:GET 请求 + 提取单个字段

比如调用 GitHub API 查用户信息:

curl -s "https://api.github.com/users/octocat" | jq '.name, .public_repos'

说明:

  • -s 静默模式,屏蔽进度条和错误提示(适合脚本)
  • | jq '.name' 表示从 JSON 中取 name 字段值(字符串自动带双引号)
  • .public_repos 是数字字段,jq 默认不加引号输出
  • 想去除引号用 -r(raw 输出),如:jq -r '.name'

处理带认证或请求头的接口

多数生产接口需要 token 或 header:

星辰Agent 星辰Agent

科大讯飞推出的智能体Agent开发平台,助力开发者快速搭建生产级智能体

星辰Agent 378 查看详情 星辰Agent
curl -s -H "Authorization: Bearer abc123" \
     -H "Content-Type: application/json" \
     "https://api.example.com/v1/data" | jq -r '.items[0].id'

注意点:

  • -H 可多次使用添加多个 header
  • .items[0].id 表示取数组第一个对象的 id 字段;越深的路径越要小心空值,否则 jq 会输出 null
  • -e 参数可让 jq 在遇到 null 或解析失败时返回非零退出码,方便 Shell 判断是否成功

POST 请求 + 提取响应中的关键数据

发送 JSON 数据并解析返回结果:

curl -s -X POST \
     -H "Content-Type: application/json" \
     -d '{"username":"test","password":"123"}' \
     "https://api.example.com/login" | jq -r '.token'

说明:

  • -X POST 显式指定方法(GET 是默认,可省略)
  • -d 后跟 JSON 字符串,注意引号嵌套别出错;复杂数据建议写进文件再用 @file.json 引入
  • 如果响应是纯文本或非 JSON,jq 会报错;可用 || true 忽略错误,或先用 head -c 100 检查前 100 字节是否含 {

基本上就这些。curl 抓回来的是“原料”,jq 是“切菜刀”——练熟几个常用语法(.[0].[].xxx-r-e),90% 的接口调试和自动化取值都能稳稳拿下。

以上就是Linux 怎么抓接口返回值?curl 结合 jq 实战的详细内容,更多请关注其它相关文章!


# 会报  # seo获客引流最快  # 网站建设及网络推广公司  # 义乌网站优化最新报价  # 品牌营销与推广公司  # 网络营销推广的问题论文  # 义乌市全国网站建设大赛  # 免费设备推广网站是什么  # 熙茜seo  # 营销推广计划预估  # 廊坊自己网站建设多少钱  # 操作步骤  # 的是  # 复用  # 最常用  # 编辑器  # linux  # 再用  # 服务管理  # 运行环境  # 返回值  # curl  # mac  # ubuntu  # 字节  # app  # github  # json  # git  # js  # centos  # word 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: NetBeans Ant项目:自动化将资源文件复制到dist目录的教程  css链接悬停下划线样式如何自定义_使用::after结合content和transition  Python实现多节点属性重叠度分析教程  免费抖音短视频入口_抖音网页版短视频免费通道  知音漫客正版漫画平台_知音漫客官网账号登录  顺丰快递查询系统 官方正版查询入口  豆包手机助手发布技术预览版:直接嵌入手机系统!努比亚样机发售  必由学官方平台入口 必由学在线课堂登录地址  大麦的“候补”是什么意思 大麦候补购票规则【详解】  高德地图沿途添加点失败如何解决 高德多点规划方法  处理嵌套交互式控件:前端可访问性指南  ArchiveofOurOwn小说阅读-ArchiveofOurOwn同人作品访问链接  c++如何使用折叠表达式(Fold Expressions)_c++17可变参数模板新技巧  163邮箱注册官网 免费申请163个人邮箱  《北京人工智能产业白皮书(2025)》发布:全年核心产值预计突破 4500 亿元  自定义Bag-of-Words实现:处理带负号的词汇权重  如何优雅地扩展SprykerGlue后端API授权逻辑,使用spryker/glue-backend-api-application-authorization-connector-extension  QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口  在J*aScript中复现SciPy的B样条拟合与求值:关键考量  支付宝碰一碰设备是REDMI手机吗 博主拆机辟谣:处理器、内存都不一样  特斯拉自动驾驶房车计划曝光 原型车将于2027年亮相  AO3最新官网入口公告_2025AO3镜像站实时查询方法  地铁跑酷免费秒玩入口链接 地铁跑酷小游戏免费秒玩网站  Gmail邮箱申请注册直达_Gmail邮箱免费注册PC版官网入口2025  Yandex官网搜索引擎免登录_俄罗斯Yandex一键直达入口  qq游戏手机版下载安装_qq游戏移动端入口  J*a递归快速排序中静态变量的状态管理与陷阱  如何在更新Composer依赖后自动运行测试_使用post-update-cmd钩子触发PHPUnit  从J*aScript对象中精确提取指定属性的教程  Python自定义类排序:解决lambda键值访问TypeError的实践指南  J*aScript DOM操作:高效清空列表元素的策略与实践  Safari浏览器输入栏卡顿如何解决 Safari搜索建议与缓存清理  谷歌google账号怎么注册账号 谷歌账号注册官方流程  德邦快递查询平台 德邦快递物流信息查询入口  Flexbox布局实践:实现粘性导航栏与底部固定页脚  Spring Boot嵌入式服务器与J*a EE:功能支持深度解析  c++ 获取系统当前时间 c++时间戳获取方法  mc.js免安装版 mc.js一键畅玩入口  Go语言HTML解析:利用Goquery精准获取指定元素内容  微信网页版登录教程_微信网页版登录入口在哪  QQ邮箱官方邮箱登录入口 QQ邮箱网页版快速访问  Python大型XML文件高效流式解析教程  Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】  Golang切片为何属于引用类型_Golang slice底层结构与引用语义说明  Vue.js 图片显示异常排查:理解应用挂载范围与DOM ID唯一性  优化LangChain文档加载与ChromaDB集成:解决多文档处理与分块问题  192.168.1.1管理中心入口 192.168.1.1路由器网页设置平台  在J*a中如何使用Exception包装底层异常_异常包装与信息传递方法说明  Discord Slash 命令响应超时问题的异步解决方案  抖音商城签到领现金是真的吗_抖音商城签到奖励与提现说明 

搜索