将 cURL 响应重定向到 POST 的 cURL,但不通过文件

Redirect a cURL response to a cURL that POSTs, but not through a file

我想 post 直接从 url(json) 到另一个 url

的 json 对象

所以命令如下:

curl "<resource_link>.json" -o sample.json
curl -X POST "<my_link>" "Content-type: application/json" -d @sample.json

我想避免这种情况,那么解决方法是什么?是这样的吗?

curl -X POST "<my_link>" "Content-type: application/json" -d "curl <resource_link>.json" 

但是不起作用?另外,这个 post 没有彻底解释并且它不起作用 是的,

curl

手册解释了“@”,但没有解释如何使用另一个 curl 或者,如果我可以暂时将第一个 cURL 响应保存在某个地方并在另一个命令中使用它(但不在文件中)

  1. 想要-x POST在那里所以让我们从放弃它开始吧。
  2. 通过 而不是 使用 -o 将第一次传输的结果发送到标准输出,或者告诉 -o 使用 -o- 使用标准输出,和
  3. 使用 -d@-.
  4. 确保您的第二次传输接受要在标准输入上发送的数据
curl "<link>.json" | curl "<link2>" -H "Content-type: application/json" -d @-

使用 curl 7.82.0 及更高版本

从 curl 7.82.0 开始,您可以使用新的 --json 选项更轻松地做到这一点:

curl "<link>.json" | curl "<link2>" --json @-