🥇 Servidores Web, Manejo de datos mediante POST.

En el capítulo anterior vimos que es posible procesar variables enviadas a través de la url, sin embargo existen algunas limitantes como.

package main

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

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        if r.URL.Path != "/" {
            http.NotFound(w, r)
            return
        }
        datosDelBody, err := ioutil.ReadAll(r.Body)
        if err != nil {
            log.Fatal(err)
        }
        fmt.Fprintf(w, "%s", datosDelBody)
    })
    http.ListenAndServe(":8000", nil)
}

A diferencia del ejemplo anterior, para procesar el contenido de una petición usamos el método ReadAll del paquete io/ioutil que procesa Body del http.Request.

datosDelBody, err := ioutil.ReadAll(r.Body)

Para enviar datos mediante post podemos usar curl.

$ curl http://localhost:8000/ -X POST -d "&name=Raul&lastname=Jimenez&"

Y obtendremos la respuesta.

&name=Raul&lastname=Jimenez&
Servidores Web, Manejo de datos mediante GET. Servidores Web, Manejo de datos de diferentes tipos.
comments powered by Disqus