Introducción
Este laboratorio tiene como objetivo probar tu capacidad para utilizar el paquete net/http en Golang para emitir solicitudes HTTP.
This tutorial is from open-source community. Access the source code
Este laboratorio tiene como objetivo probar tu capacidad para utilizar el paquete net/http en Golang para emitir solicitudes HTTP.
Se te pide escribir un programa que envíe una solicitud HTTP GET a un servidor y muestre el estado de la respuesta HTTP y las primeras 5 líneas del cuerpo de la respuesta.
net/http para emitir una solicitud HTTP GET.$ go run http-clients.go
Estado de la respuesta: 200 OK
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Go by Example</title>
A continuación está el código completo:
// La biblioteca estándar de Go cuenta con un excelente soporte
// para clientes y servidores HTTP en el paquete `net/http`.
// En este ejemplo lo utilizaremos para emitir solicitudes HTTP
// simples.
package main
import (
"bufio"
"fmt"
"net/http"
)
func main() {
// Emitir una solicitud HTTP GET a un servidor. `http.Get` es
// un atajo práctico para crear un objeto `http.Client`
// y llamar a su método `Get`; utiliza el objeto
// `http.DefaultClient` que tiene configuraciones por defecto
// útiles.
resp, err := http.Get("https://gobyexample.com")
if err!= nil {
panic(err)
}
defer resp.Body.Close()
// Mostrar el estado de la respuesta HTTP.
fmt.Println("Estado de la respuesta:", resp.Status)
// Mostrar las primeras 5 líneas del cuerpo de la respuesta.
scanner := bufio.NewScanner(resp.Body)
for i := 0; scanner.Scan() && i < 5; i++ {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err!= nil {
panic(err)
}
}
En este laboratorio, has aprendido cómo utilizar el paquete net/http en Golang para emitir solicitudes HTTP y manejar errores.