curl 超时时间
使用curl时,有两个超时时间:一个是连接超时时间,另一个是数据传输的最大允许时间。
连接超时时间用 –connect-timeout 参数来指定,数据传输的最大允许时间用 -m 参数来指定。
例如:
curl –connect-timeout 10 -m 20 “http://outofmemory.cn/”
连接超时的话,出错提示形如:
curl: (28) connect() timed out!
数据传输的最大允许时间超时的话,出错提示形如:
curl: (28) Operation timed out after 2000 milliseconds with 0 bytes received
测试脚本
urls=(
http://www.wicwuzhen.cn
http://reg.wicwuzhen.cn
180.97.163.56
218.60.114.87
121.40.73.184
)
ChkDate=$(date +%Y-%m-%d_%X)
function checkurl(){
param1=("${!1}")
for url in ${param1[@]}
do
urlstatus=$(curl -LsI -o /dev/null --connect-timeout 10 --max-redirs 10 -w '%{http_code}' "$url")
echo "$url $urlstatus "
done
}
echo -e "\n${ChkDate} CHECK ECS \n"
checkurl urls[@]
echo -e "\n${ChkDate} CHECK MASTER-SITE \n"
checkurl mastersite[@]
echo -e "\n${ChkDate} CHECK OTHERS \n"
checkurl pub[@]
echo -e "\n${ChkDate} CHECK Nagio With Username and Password"
echo "http://192.168.120.18/nagio `curl -Ls -u nagiosadmin:zjol728 -o /dev/null http://192.168.120.18/nagios -w '%{http_code}'`"