2017-01-25 6 views
1
URL=$(curl -i -X GET -H "Authorization: Basic token=" -H "Cache-Control: no-cache" -H "http://company url:8080/v1/organizations/wiley/environments/api-team-ci1/stats/apis?select=sum(is_error)&timeRange=01/24/2017%2002:00~01/25/2017%2006:00") 

URL должен возвращать ответ JSON, который мне нужен, чтобы разобрать и взять некоторые значения. Даже не получив ответа от команды curl; получение только «завитка: никакой URL не указан!» ошибка. Пожалуйста, помогите мне и прямо, как я пытаюсь сделать это в первый раз.Как запросить curl http и разобрать ответ JSON в сценарии оболочки?

ответ

0

Вы пропусканием URL в качестве аргумента -H, но это не заголовок – удалить -H перед URL:

url=$(curl -i -X GET -H "Authorization: Basic token=" -H "Cache-Control: no-cache" \ 
"http://company url:8080/v1/organizations/wiley/environments/api-team-ci1/stats/apis?select=sum(is_error)&timeRange=01/24/2017%2002:00~01/25/2017%2006:00") 
+0

Спасибо за помощь. После того, как я опубликовал вопрос, я пытался разными способами и смог получить ответ успешно. Это ответ JSON. Не могли бы вы рассказать мне, как найти конкретное значение ошибки (которое здесь 6), и если оно превысит 10, будет создано электронное письмо. смотрите ответ ниже - { "сред": [{ "Размеры": [{ "метрика": [{ "Название": "сумма (is_error)", "ценность": [ "6.0" ] }], "имя": "asiag-апи" }], "имя": "апи-хуг" }], "мЕТАДАННЫЕ": { "ошибки": [], –

+0

Вы» re спрашивая «как разобрать JSON» и «как отправить электронную почту из командной строки», которые, похоже, не связаны с вопросом. Посмотрите на [этот вопрос] (http://stackoverflow.com/questions/41093119/how-to-parse-json-with-shell-scripting) и [jq] (https://github.com/stedolan/ jq) для разбора JSON; проверьте [этот вопрос] (http://stackoverflow.com/questions/20318770/send-mail-from-linux-terminal-in-one-line) для отправки почты из командной строки. –

 Смежные вопросы

  • Нет связанных вопросов^_^