cURL 将原生支持 JSON,未来将支持更多格式


cURL 作者 Daniel Stenberg 在邮件透露了为 cURL 添加原生支持 JSON 的计划。

Daniel 解释了为 cURL 添加原生支持 JSON 的理由:

  1. 在 REST APIs 等领域,发送 JSON 是十分普遍的做法
  2. 许多人被问及选择 cURL 替代方案的考虑因素时,“易于使用 JSON”是常见的一项
  3. 在 Stack Overflow 等网站上,相当多的人无法使用 cURL 发送正确的 JSON 和正确引用 JSON,因为 JSON 使用了双引号,而 Shell 不会在单引号内扩展变量

Daniel 还表示,由于自己不经常发送 JSON,所以完全靠他来设计这个功能并不合适。他需要其他人的帮助,让这个功能尽可能地有用。

目前 Daniel 已在 wiki 中提供了关于此功能的草案,同时创建了讨论区。

简单来说,Daniel 计划增加两个命令行选项:

  1. 发送已格式化的 JSON 作为 -d 的快捷方式,并附带相匹配的 Accept header
  2. 通过构建 JSON request body 进行发送

--json -|<data>|@filename

curl --json [whatever] http://example.com

上述命令行是一种快捷方式,其作用等同于 -d [whatever] -H "Content-Type: application/json"

--jp [part]

('jp' 是 "JSON part" 的缩写)

构建 JSON request body,然后使用 request headerContent-Type: application/json发送 JSON。

[part] 是构建 JSON 内容的指令。

(Syntax inspired by jo)

详情查看:https://github.com/curl/curl/wiki/JSON


相關推薦

2022-08-07

们终于发布了v1.0版本。当前的版本已经完成了企业级云原生CloudIDE的特性闭环,允许个人/团队/企业用户在Windows/Mac/Linux上使用VSCode/JetBrains全家桶/OpenSumi三种IDE开发7种技术栈下的任何项目,并且支持WebIDE和Hybrid混合模式以及WebTer

2023-03-18

的新玩法。 新特性:四层上的服务发现 只有少数网关支持服务发现,APISIX 就是其中之一。在 3.2.0 版本中,APISIX 把原来七层上的服务发现的功能也做到了四层上。这样一来,将 APISIX 作为 TCP/UDP 代理时也能享受到服务发现带来

2023-01-18

在Windows上,客户端Kerberos身份验证插件现在通过MIT Kerberos支持GSSAPI库。用户可以使用控件支持的新插件选项在SSPI和GSSAPI之间进行选择。 EXPLAIN语句输出的默认格式现在可以进行设置,新增的“explain_format”系统变量与FORMAT选项

2023-08-11

​StarRocks 自 4 月底发布 3.0 版本,拥抱云原生,开启极速统一的湖仓新范式;8月7日,StarRocks 正式发布全新 3.1 版本,全面提升云原生存算分离构架、极速数据湖分析、物化视图等重量级特性,让用户更简单的实现极速统一的湖

2023-07-18

KPM, KCL OpenAPI 和 OCI Registry 等工具直接使用和共享您的云原生领域模型,降低学习和上手成本 使用 Github Action, ArgoCD 和 Kubectl KCL 插件等社区工具集成和扩展支持提升自动化效率 进一步您可以在 KCL v0.5.0 发布页面 或者 KCL 官方

2022-10-27

Java 的开发更紧密地保持一致。 按照计划,GraalVM JIT 和原生镜像将成为 OpenJDK 的一部分。Oracle 会根据 OpenJDK 社区流程将合适的 GraalVM 技术贡献到一个或多个 OpenJDK 项目中,更多细节将在未来几个月内公布。 详情查看公告说明

2022-03-07

,使得从命令行和 shell 脚本发送 JSON 变得更加方便。curl 支持大量不同的 TLS 库,但现在数量减少了一个(到 13 个),因为官方正式放弃了对 MesaLink 的支持。这个库已经不再开发,所以不鼓励用户使用。 Bug 修复 对 bearssl

2022-12-19

能够与 Nginx Plus 和 Nginx 开源版并行或独立运行。Nginx Unit 支持 RESTful JSON API,可以在不中断服务的情况下更改配置,并可运行基于多种语言和架构的应用。Nginx Unit 生来就是为满足分布式应用的需求而设计的,可为您的服务网格

2023-05-25

AI 方面的进展与功能外,还特别提到将在 Windows 11 系统中原生增加对 RAR、7Z 等压缩文件格式的解压支持。 当我们谈起压缩文件,大家最熟悉的文件格式应该就是 RAR、7Z、ZIP 了,其中 RAR 是 Roshal Archive 的缩写,它是 1993 年由俄

2022-10-28

cURL 7.86 已发布,此版本添加实验性 WebSocket 支持、移除 NPN 支持,并带来大量修复。 重点 已移除 NPN 支持 curl 不再支持使用 NPN 协商 HTTP/2。执行此操作的标准方法长期以来一直是 ALPN,且浏览器几年前就取消了对 NPN 的支持。

2022-09-23

范。Jakarta EE 10 引入了用于构建现代化、简化和轻量级云原生 Java 应用程序的功能。据 Eclipse 基金会执行董事 Mike Milinkovich 称 这个版本是在现代微服务和容器时代牢牢植入 Jakarta EE 的“大版本“,Jakarta EE 10 的发布反映了

2023-07-20

行的DDL语句。 版本特定注释中使用的MySQL版本号现在支持由一个或两个数字组成的主版本,这意味着整个版本现在可以是五位数或六位数长。 强化关闭服务器过程的日志,随着MySQL服务器、插件和组件的启动和关闭消息的

2023-03-02

状态分析函数的能力,同时提供了统计函数,提升了产品原生的分析能力。 有条件分析函数 分析函数添加了 WHEN 条件判断子句,根据是否满足条件来确定当前事件是否为有效事件。 当为有效事件时,根据分析函数语意计算结

2023-04-20

源不久的新项目。 自上一版本以来的变化: --get 也支持[括号]中的变量 --get {query-all:key} 输出查询中 'key' 的所有值 换成了 test.py 来进行测试 --iterate 是一个新选项 自上一版本以来的错误修复: 处理 {query:key} 输出