web网络探测(http:https)-接口调用
#!/bin/bash
URL=https://xxx.xxxx.xxx
LIP=xxxx
GRN(){
echo -en "\033[1;32m";
}
RED(){
echo -en "\033[1;31m";
}
YLW(){
echo -en "\033[1;33m";
}
ED(){
echo -en "\033[0m"
}
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;
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