将 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 响应保存在某个地方并在另一个命令中使用它(但不在文件中)
- 你不想要
-x POST
在那里所以让我们从放弃它开始吧。
- 通过 而不是 使用
-o
将第一次传输的结果发送到标准输出,或者告诉 -o
使用 -o-
使用标准输出,和
- 使用
-d@-
. 确保您的第二次传输接受要在标准输入上发送的数据
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 @-
我想 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 响应保存在某个地方并在另一个命令中使用它(但不在文件中)
- 你不想要
-x POST
在那里所以让我们从放弃它开始吧。 - 通过 而不是 使用
-o
将第一次传输的结果发送到标准输出,或者告诉-o
使用-o-
使用标准输出,和 - 使用
-d@-
. 确保您的第二次传输接受要在标准输入上发送的数据
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 @-