Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created September 25, 2023 16:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/449896985becb6bb134bf783e99d083b to your computer and use it in GitHub Desktop.
Save parzibyte/449896985becb6bb134bf783e99d083b to your computer and use it in GitHub Desktop.
/*
Cliente HTTP en Go con net/http
Ejemplo de petición HTTP Get en Golang
@author parzibyte
*/
package main
import (
"io/ioutil"
"log"
"net/http"
"time"
)
func detener(url string) {
clienteHttp := &http.Client{
Timeout: time.Second * 4, // Debe ser menor al "sleep" del desinstalador
}
// Si quieres agregar parámetros a la URL simplemente haz una
// concatenación :)
peticion, err := http.NewRequest("GET", url, nil)
if err != nil {
// Maneja el error de acuerdo a tu situación
log.Printf("Error creando petición: %v", err)
return
}
// Podemos agregar encabezados
respuesta, err := clienteHttp.Do(peticion)
if err != nil {
// Maneja el error de acuerdo a tu situación
log.Printf("Error haciendo petición: %v", err)
return
}
// No olvides cerrar el cuerpo al terminar
defer respuesta.Body.Close()
_, err = ioutil.ReadAll(respuesta.Body)
if err != nil {
log.Printf("Error leyendo respuesta: %v", err)
return
}
println("Plugin detenido")
}
func main() {
detener("http://localhost:2106/apagar")
detener("http://localhost:8000/apagar")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment