1

Я просто не могу понять, почему все мои попытки провалились. Я пытаюсь использовать curl для отправки запроса POST с json на конкретный URL, когда путь к JSON определен как переменная:

#!/bin/sh

JSON_TMP=/home/aaa/jsons/make_6h_from_1h.json
curl -X POST -H "Content-Type: application/json" --data-binary "@${JSON_TMP}" http://some-url

Что бы я ни пытался (помещая "@${JSON_TMP}" или "@$JSON_TMP" или @"${JSON_TMP}" или что-либо еще), похоже, не работает!

Больше всего раздражает то, что нет никаких сообщений об ошибках или чего-то еще - я просто запускаю команду и снова получаю приглашение. На другом конце я вижу, что ни один JSON не был отправлен.

2 ответа2

0

Следующие работы:

body_arg=(--data-binary @${filePath})

curl -X POST -H "Content-Type: application/json" "${body_arg[@]}"  http://some-url
0
curl -X POST -i -H "Accept: application/json" -H "Content-Type: application/json" --data-binary --data-binary @${JSON_TMP} http://some-url

Попробуйте удалить двойные кавычки через @ $ {JSON_TMP}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .