2016-12-13 5 views
0

Мне нужно получить некоторые данные с помощью утилиты curl linux. Есть два случая: один запрос успешный, а второй - нет. Я хочу сохранить вывод в файл, если запрос был успешным, и если запрос был провален по какой-то причине, тогда код ошибки должен быть сохранен только в файле журнала. Я много искал на www, но не смог найти точное решение, поэтому я опубликовал новый вопрос о завитке.Как получить код статуса и контент http отдельно с помощью curl в linux

+0

дружеское напоминание: погуглить 'Как получить код статуса HTTP и содержание seprately с помощью завиток в linux' должны уже дают вам все, что вам нужно; всегда помните, чтобы сделать это первым –

ответ

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 - ваш друг, после этого вы можете извлечь код состояния позже для своих нужд.