选择下载节点
路径:/www/server/panel/install/public
- 功能:curl测试node节点挑选出延时最低的服务器
- 循环nodes:
- L6 获取Curl前 %s 1970-01-01 00:00:00 UTC到当前秒数 %N 纳秒(000000000-999999999)
- L7 curl -s 静音模式 -S 显示错误 –connect-timeout 连接超时时间,-m 数据传输的最大允许时间用
- L8 判断Curl是否成功
- L9 获取Curl后 %s 1970-01-01 00:00:00 UTC到当前秒数 %N 纳秒(000000000-999999999)
- L10 获取Curl前 1970-01-01 00:00:00 UTC到当前秒数
- L11 获取Curl前 纳秒(000000000-999999999)
- L12 获取Curl后 1970-01-01 00:00:00 UTC到当前秒数
- L13 获取Curl后 纳秒(000000000-999999999)
- L14 计算出Curl花费的微秒值
- L15 转换为毫秒
- L16 将毫秒值 存储到数组 values[2,3,4]
- L17 将节点地址 存储到数组 urls[$time_ms] = urls[延时毫秒数]
- L18 更新毫秒数组
- 找出延时最低的node 并打印出来 (定义一个最大延时值做比较)
- 循环 values[2,3,4] = 每个节点的curl延时 数组
- L24 判断 定义的最大延时值 $j 与 循环的数组 $n 值比较 如果大于 则将 $n 赋值给 $j 循环完成 $j 就是最小值
L28判断如果所有节点curl延时都大于定义的最大延时值则 使用
http://download.bt.cn
否则使用挑选出来的最低延时节点L35判断如果还没有挑选出节点 则初始化 函数开始挑选
1 | get_node_url(){ |
测试
1 | get_node_url(){ |