Web network detection (http: https)-interface call

Web network detection (http: https)-interface call

#!/bin/bash
#####config####
URL=https://xxx.xxxx.xxx
#local host
LIP=xxxx
####color##这里调用了以前文章写得颜色工具####
GRN(){
    
    
 echo -en "\033[1;32m";
}
RED(){
    
    
 echo -en "\033[1;31m";
}
YLW(){
    
    
 echo -en "\033[1;33m";
}
ED(){
    
    
echo -en "\033[0m"
}
####wechat - config ######
KEY="wechat rootboot key"
TOKEN="xxxxx-wechat-transmit-token"
IP=xxxx
#信息转发地址
PORT=xxx
#转发路径
URI=xxxxx
################
while true 
do 
S_CODE=`curl -Is -m 60 -w %{
     
     http_code} -o /dev/null $URL`

echo "$(date '+%F %T') --- $S_CODE" &>> logs/info-$(date '+%F').log;
#S_CODE=000
if [ $S_CODE -eq 0 ];then
    RECV_STR="主机[$LIP]检测结果 -> 请求xxx超时"
    result=`curl -X POST http://$IP:$PORT/$URI -H "Accept: application/json" -H "Content-type: application/json" -d'
      {
            "token": "'"$TOKEN"'",
            "msg":"'"$RECV_STR"'",
            "key": "'"$KEY"'"
      }'`
    echo "`RED`http_code ->  $S_CODE`ED`" &>> logs/info-$(date '+%F').log;
    echo "`RED`检测结果 -> 请求超时或端口未打开`ED`" &>> logs/info-$(date '+%F').log;
    echo "$(date "+%F %T") - $result" &>> logs/wechat_info-$(date '+%F').log;
elif [ $S_CODE -eq 200 ];then
    echo "`GRN`http_code ->  $S_CODE`ED`" &>> logs/info-$(date '+%F').log;
    echo "`GRN`检测结果 -> 正常`ED`" &>> logs/info-$(date '+%F').log;      
else
    RECV_STR="主机[$LIP]检测结果 -> 程序错误,请检查状态码."
    result=`curl -X POST http://$IP:$PORT/$URI -H "Accept: application/json" -H "Content-type: application/json" -d'
      {
            "token": "'"$TOKEN"'",
            "msg":"'"$RECV_STR"'",
            "key": "'"$KEY"'"
      }'`
    echo "`RED`http_code ->  $S_CODE`ED`" &>> logs/info-$(date '+%F').log;
    echo "`RED`检测结果 -> 应用程序错误`ED`" &>> logs/info-$(date '+%F').log;
fi
sleep 60
done

Guess you like

Origin blog.csdn.net/qq_38774492/article/details/108603374