¿Cómo hacer una solicitud HTTP en Go?
¡Hola a todos! Por favor, indíquenme cómo realizar correctamente una solicitud HTTP GET en Go y obtener una respuesta del servidor. Soy nuevo en el lenguaje y me encontré con un problema al intentar obtener datos de una API externa.
Actualmente estoy usando la biblioteca estándar net/http, pero mi código parece colgarse y no devuelve ningún resultado. Esto es lo que he probado:
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
resp, err := http.Get("https://api.example.com/data")
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error de lectura:", err)
return
}
fmt.Println(string(body))
}El problema es que el programa simplemente se queda colgado sin mostrar nada, y no veo ni errores ni datos. Ya he verificado que la URL funciona (con curl todo está bien). Sospecho que el problema podría ser la falta de un timeout.