Мне нужно получить некоторые данные с помощью утилиты curl linux
. Есть два случая: один запрос успешный, а второй - нет. Я хочу сохранить вывод в файл, если запрос был успешным, и если запрос был провален по какой-то причине, тогда код ошибки должен быть сохранен только в файле журнала. Я много искал на www, но не смог найти точное решение, поэтому я опубликовал новый вопрос о завитке.Как получить код статуса и контент http отдельно с помощью curl в linux
0
A
ответ
3
Один из вариантов, чтобы получить код ответа с -w, так что вы могли бы сделать это что-то вроде
code=$(curl -s -o file -w '%{response_code}' http://example.com/)
if test "$code" != "200"; then
echo $code >> response-log
else
echo "wohoo 'file' is fine"
fi
+0
где url в команде – Shafiq
+0
К сожалению, я забыл об этом. Добавлено сейчас. Просто вставьте его в командную строку curl. –
2
curl -I -s -L <Your URL here> | grep "HTTP/1.1"
curl + grep - ваш друг, после этого вы можете извлечь код состояния позже для своих нужд.
дружеское напоминание: погуглить 'Как получить код статуса HTTP и содержание seprately с помощью завиток в linux' должны уже дают вам все, что вам нужно; всегда помните, чтобы сделать это первым –