golang學習筆記(3)
2111
發(fā)布于 四川 2021-02-27 · 1.3w瀏覽 4贊

      現(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)站。

2111
~
瀏覽 1.3w
4
相關(guān)推薦
最新評論
贊過的人 4
評論加載中...

暫無評論,快來評論吧!