Introduction
Ce laboratoire vise à tester votre capacité à utiliser le package net/http
en Golang pour émettre des requêtes HTTP.
This tutorial is from open-source community. Access the source code
💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici
Ce laboratoire vise à tester votre capacité à utiliser le package net/http
en Golang pour émettre des requêtes HTTP.
Vous êtes requis d'écrire un programme qui envoie une requête HTTP GET à un serveur et imprime le statut de la réponse HTTP et les 5 premières lignes du corps de la réponse.
net/http
pour émettre une requête HTTP GET.$ go run http-clients.go
Statut de la réponse : 200 OK
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Go by Example</title>
Voici le code complet ci-dessous :
// La bibliothèque standard Go offre un excellent support
// pour les clients et les serveurs HTTP dans le package
// `net/http`. Dans cet exemple, nous allons l'utiliser pour
// émettre des requêtes HTTP simples.
package main
import (
"bufio"
"fmt"
"net/http"
)
func main() {
// Émettez une requête HTTP GET à un serveur. `http.Get` est
// un raccourci pratique pour créer un objet `http.Client`
// et appeler sa méthode `Get` ; il utilise l'objet
// `http.DefaultClient` qui a des paramètres par défaut
// utiles.
resp, err := http.Get("https://gobyexample.com")
if err!= nil {
panic(err)
}
defer resp.Body.Close()
// Imprimez le statut de la réponse HTTP.
fmt.Println("Statut de la réponse :", resp.Status)
// Imprimez les 5 premières lignes du corps de la réponse.
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)
}
}
Dans ce laboratoire, vous avez appris à utiliser le package net/http
en Golang pour émettre des requêtes HTTP et gérer les erreurs.