🥇 Clientes HTTP, Peticiones mediante GET

Para peticiones GET, Go puede hacer uso de la libreria net/http. Al utilizar el método GET de esta libreria, deja de ser necesario configurar todas las cabeceras para indicar que se desea realizar dicho request.

Utilizamos el método http.Get, la cual retorna dos valores, response y error.

res, err := http.Get("http://reddit.com")
if err != nil {
    log.Fatal(err)
}

Cuando todos los datos han sido leidos por el cliente, la conexión se cierra.

defer res.Body.Close()

Ahora leemos el contenido de res.Body.

body, err := ioutil.ReadAll(res.Body)
if err != nil {
    log.Fatal(err)
}

El ejemplo de manera completa luciría así.

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
)

func main() {
    res, err := http.Get("http://reddit.com")
    if err != nil {
        log.Fatal(err)
    }
    defer res.Body.Close()
    body, err := ioutil.ReadAll(res.Body)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("%s", body)
}
Servidores Web, Manejo de datos de diferentes tipos. Clientes HTTP, Peticiones mediante POST
comments powered by Disqus