現(xiàn)在把之前兩節(jié)的代碼組合起來,實現(xiàn)監(jiān)控多個網(wǎng)站狀態(tài)的功能,代碼如下:
package main
import (
"net/http"
"fmt"
"bufio"
"os"
"strings"
)
//CheckSite 檢查網(wǎng)站狀態(tài)
func CheckSite(weblist string) {
site := strings.Split(weblist, ",")
for _, url := range site {
resp, err := http.Get(url)
if err != nil {
fmt.Println(err.Error())
} else {
if !strings.Contains(resp.Status, "200 OK") {
fmt.Println(url + "狀態(tài)異常,異常代碼:" + resp.Status)
} else {
fmt.Println(url + "狀態(tài)正常")
}
}
}
}
//ReadLineFile 逐行讀取文件
func ReadLineFile(fileName string) string {
var list string
if file, err := os.Open(fileName); err != nil {
panic(err)
} else {
scanner := bufio.NewScanner(file)
for scanner.Scan() {
list += scanner.Text() + ","
}
return list[0 : len(list)-1] //刪除最后的逗號
}
}
func main(){
weblist := ReadLineFile("weblist.txt")
CheckSite(weblist)
}
新增了“strings”包將字符串分割為數(shù)組,然后循環(huán)數(shù)組依次訪問列表中的網(wǎng)站。





暫無評論,快來評論吧!