Перенаправить ответ CURL на CURL, который отправляет, но не через файл - PullRequest
0 голосов
/ 09 апреля 2020

Я хотел бы напрямую разместить json объект из URL (json) на другой URL

, поэтому команда выполняется следующим образом:

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

I ' Я хотел бы избежать этого, так каково решение? Это что-то подобное?

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

Но это не работает? Кроме того, этот пост Stream cURL-ответ на другую команду cURL, публикующую результат , не объясняет подробно и не работает Да,

curl

руководство объясняет '@', но не объясняет использование другого curl. Альтернативно, если бы я мог временно сохранить где-нибудь 1-й ответ cURL и использовать его в другой команде (но не в файле)

1 Ответ

5 голосов
/ 09 апреля 2020
  1. Вы не хотите туда -x POST, так что давайте начнем с отбрасывания этого.
  2. Отправка результатов первой передачи на стандартный вывод не с использованием -o или указанием -o использовать стандартный вывод с -o- и
  3. Убедитесь, что ваша вторая передача принимает данные для отправки на стандартный ввод, используя -d@-.
curl "<link>.json" | curl "<link2>" -H "Content-type: application/json" -d @-
...