Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Usuário inserir o site para monitorar.

Estou gostando do curso #continua, porém estou com uma duvida, estou tentado fazer com que o usuário insira o site que ele quer monitorar. segue o meu código,

package main

import "fmt"
import "os"
import "net/http"

func main() {

    exibeIntroducao()

    for {
        exibeMenu()
        comando := leComando()

        switch comando {
        case 1:
            fmt.Println("Monitorando...")

            iniciarMonitoramento()
        case 2:
            fmt.Println("Exibindo Logs...")

        case 3:
            fmt.Println("Digite site")
            digitaSite()
        case 0:
            fmt.Println("Saindo do programa...")
            os.Exit(0)
        default:
            fmt.Println("Não conheço esta função")
            os.Exit(-1)
        }
    }
}
func exibeIntroducao() {
    fmt.Println("Digite seu nome")
    var nome string
    fmt.Scan(&nome)
    fmt.Println("Bem vindo sr.", nome)
}

func exibeMenu() {
    fmt.Println("1-Iniciar Monitoramento")
    fmt.Println("2-Exibir Logs")
    fmt.Println("3-Digitar site")
    fmt.Println("0-Sair do programa")

}

func leComando() int {
    var comandoLido int
    fmt.Scan(&comandoLido)
    fmt.Println("O comando escolhido foi", comandoLido)

    return comandoLido

}
func iniciarMonitoramento() {
    fmt.Println("Monitorando...")
    site := ("site1")
    resp, _ := http.Get(site)

    if resp.StatusCode == 200 {
        fmt.Println("Site:", site, "Foi carregado com sucesso.")

    } else {
        fmt.Println("Site", site, "esta com problema . State Code :", resp.StatusCode)
    }

}
func digitaSite() {
    var site1 string
    fmt.Scan(&site1)
    fmt.Println("O site digitado foi ", site1)
}
4 respostas

Oi Alessandro, tudo bem ?

Conseguiu resolver isso ?

Ainda não ...

Vc tem alguma sugestão ?

solução

Oi Alessandro, eu criei uma função mais ou menos assim:

func digitaSite(site string) {

    inicio := "https://www."
    fim := ".com.br"

    siteDesejado := inicio + site + fim

    resposta, err := http.Get(siteDesejado)

    if err != nil {
        exibeErros(err)
    }

    if resposta.StatusCode == 200 {
        fmt.Println("Site: ", siteDesejado, "foi carregado com sucesso...")
    }

}

Só que só está monitorando sites brasileiros, porém, nem todos os sites terminam exatamente com ".com.br". estou procurando alguma coisa que verifique a possível existência do site digitado independente do dominio.