Проверка доступности сетевых устройств на Golang
Есть необходимость проверять доступность сетевых устройств с вэб интерфейсами по списку айпишников из файла. Есть исходник из сети:
package main
import (
"fmt"
"net/http"
)
const url = ""
func main() {
check(url)
}
func check(url string) {
fmt.Println("Проверяем устройство ", url)
resp, err := http.Get(url)
if err != nil {
fmt.Printf("Ошибка соединения.)
return
}
defer resp.Body.Close()
if resp.StatusCode != 200 {
fmt.Printf("ERROR. Статус: НЕ В СЕТИ!")
return
}
fmt.Printf("Статус: ОК")
}
Нужно к нему как то прикрутить возможность читать строки из заданного файла. Понимаю что должен быть реализован цикл но написать правильно не могу.
Ответы (1 шт):
Автор решения: KoVadim
→ Ссылка
Открываете гугл (или другой любимый поисковик) и ищите по словам "golang read file line by line", находите первый попавшийся понравившийся пример, к примеру - https://programming.guide/go/read-file-line-by-line.html
И модифицируете
func main() {
file, err := os.Open("file.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
//fmt.Println(scanner.Text())
check(scanner.Text())
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}
правда там может оказаться перевод строки, но я думаю, это уже легкая задача