Meu codigo esta assim:
func leSitesDoArquivo() []string {
var sites []string
arquivo, err := os.Open("sites.txt")
if err != nil {
fmt.Println("Ocorreu um erro:", err)
}
leitor := bufio.NewReader(arquivo)
for {
linha, err := leitor.ReadString('\n')
linha = strings.TrimSpace(linha)
sites = append(sites, linha)
if err == io.EOF {
break
}
}
arquivo.Close()
return sites
}
func testaSite(site string) {
resp, err := http.Get(site)
fmt.Println(site)
if err != nil {
fmt.Println("Ocorreu um erro:,", err)
}
if resp.StatusCode == 200 {
fmt.Println("Site:", site, "foi carregado com sucesso!")
} else {
fmt.Println("Site:", site, "esta com problemas. Status code:", resp.StatusCode)
}
}
func iniciarMonitoramento() {
fmt.Println("Monitorando...")
for i := 0; i < monitoramentos; i++ {
sites := leSitesDoArquivo()
for _, site := range sites {
fmt.Println("Testando site", site)
testaSite(site)
}
time.Sleep(delay * time.Second)
fmt.Println("")
}
fmt.Println("")
}
Mas ele retorna o seguinte erro:
Ola sra. Rafa sua idade é 23
Este programa está na versão 1.1
1- Iniciar Monitoramento
2- Exibir Logs
0- Sair do Programa
1
O comando escolhido foi 1
Monitorando...
Testando site https://random-status-code.herokuapp.com/
https://random-status-code.herokuapp.com/
Site: https://random-status-code.herokuapp.com/ foi carregado com sucesso!
Testando site https://www.alura.com.br
https://www.alura.com.br
Site: https://www.alura.com.br foi carregado com sucesso!
Testando site https://www.caelum.com.br
https://www.caelum.com.br
Site: https://www.caelum.com.br foi carregado com sucesso!
Testando site
Ocorreu um erro:, Get "": unsupported protocol scheme ""
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x6044b4]
goroutine 1 [running]:
main.testaSite({0x0, 0x0})
/home/rassudok/go/src/hello/hello.go:96 +0x114
main.iniciarMonitoramento()
/home/rassudok/go/src/hello/hello.go:109 +0x1c9
main.main()
/home/rassudok/go/src/hello/hello.go:24 +0x12a
exit status 2
Alguem sabe do que se trata?