Bash-скрипт для проверки работоспособности публичного HTTPS-сайта

Bash-скрипт для проверки работоспособности публичного HTTPS-сайта

Я пытаюсь настроить еще один блок кода в скрипте bash, чтобы проверить, работает ли публичный веб-сайт на HTTPS. Можно ли сделать это с помощью CURL? Есть предложения, что можно использовать помимо CURL. Спасибо

решение1

Вот способ сделать это с помощью wget вместо curl. Имейте в виду, что MacOS не поставляется с wget по умолчанию.

Успешный веб-запрос вернет код 200, неудачный — 300, 400, 404 и т. д. (см.Коды REST API)

Эта строка вернет a, 1если веб-запрос был успешным, в противном случае она вернет0

wget -q  -O /tmp/foo google.com | grep '200' /tmp/foo | wc -l
1

решение2

Один из многих:

if curl -s --head  --request GET https://example.com | grep "200 OK" > /dev/null; then 
   echo "mysite.com is UP"
else
   echo "mysite.com is DOWN"
fi

решение3

Нагиос'плагин check_httpможет делать это и многое другое, включая проверку определенного текста в ответе. Вы можете запустить его из скрипта оболочки независимо от самого Nagios:

$ check_http --ssl -H www.google.com -r 'Feeling Lucky'
HTTP OK: HTTP/1.1 200 OK - 11900 bytes in 0.086 second response time |time=0.085943s;;;0.000000 size=11900B;;;0

$ echo $?
0

решение4

на аналогичный вопрос был дан ответ здесь:

https://stackoverflow.com/questions/12747929/linux-script-with-curl-to-check-webservice-is-up

Цитата от Бурхана Халида

curl -sL -w "%{http_code}\n" "http://www.google.com/" -o /dev/null

-s = Тихий вывод cURL

-L = Следовать перенаправлениям

-w = Пользовательский формат вывода

-o = Перенаправляет вывод HTML в /dev/null

Пример:

[~]$ curl -sL -w "%{http_code}\n" "http://www.google.com/" -o /dev/null

Я бы, наверное, удалил \n, если бы он должен был захватывать вывод.

поэтому вам просто нужно добавить -k в параметры, если вы не хотите проверять наличие действительного сертификата и использовать https вместо http, очевидно.

curl -sL -w "%{http_code}\n" "https://www.google.com/" -o /dev/null

сообщает код состояния 200 с кодом возврата 0.

Для всего остального вам необходимо определить свой ответ в сценарии.

Связанный контент