Maison  >  Article  >  développement back-end  >  Comment imprimer l'en-tête en Golang

Comment imprimer l'en-tête en Golang

PHPz
PHPzoriginal
2023-05-10 17:36:371085parcourir

En langage Go, l'impression d'en-tête peut être implémentée à l'aide du type Header et de la fonction http.Header() dans le package net/http. Ce qui suit présentera les opérations spécifiques sur la façon dont Golang imprime les en-têtes.

Tout d’abord, nous devons importer le package net/http. Ce package est une bibliothèque standard de Golang, incluant l'implémentation du client et du serveur HTTP.

import (
    "net/http"
    "fmt"
)

Ensuite, nous pouvons créer un objet de requête http et envoyer la requête à une certaine URL :

resp, err := http.Get("http://www.example.com")
if err != nil {
    // 请求发生错误
}

Ici, nous envoyons une requête GET à l'adresse URL spécifiée via la fonction http.Get() et stockons la réponse en resp dans l'objet. Ensuite, nous pouvons obtenir les informations d'en-tête via l'objet resp :

header := resp.Header
fmt.Println(header)

resp.Header est un objet de type Header, qui contient les paires clé-valeur dans l'en-tête de réponse HTTP. En appelant la fonction fmt.Println(), nous pouvons imprimer le contenu dans l'en-tête de réponse.

En plus d'utiliser resp.Header, nous pouvons également créer un nouvel objet Header via la fonction http.Header() et y ajouter des paires clé-valeur :

header := http.Header{}
header.Add("Content-Type", "application/json")
header.Add("Authorization", "Bearer xxxxxxxx")
fmt.Println(header)

Ici, nous créons un nouvel objet Header et utilisons Add () La fonction ajoute deux paires clé-valeur « Content-Type » et « Autorisation ». Ensuite, nous pouvons également utiliser la fonction fmt.Println() pour imprimer le nouvel objet Header.

En développement réel, nous pouvons également utiliser d'autres bibliothèques tierces pour traiter les en-têtes. Par exemple, utilisez github.com/golobby/httpheader pour générer et analyser les en-têtes. La bibliothèque fournit des fonctions riches pour ajouter, supprimer, obtenir et définir des en-têtes. Voici l'exemple de code de la bibliothèque :

import (
    "github.com/golobby/httpheader"
    "fmt"
)

header := httpheader.New(map[string][]string{
    "Content-Type": {"application/json"},
    "Authorization": {"Bearer xxxxxxxx"},
})
fmt.Println(header.Headers())

Ici, nous créons un nouvel objet Header en appelant la fonction httpheader.New() et y ajoutons deux paires clé-valeur de "Content-Type" et "Authorization". L’appel de la fonction Headers() peut convertir l’objet Header en type http.Header afin que les requêtes HTTP puissent être envoyées à l’aide du package net/http.

Résumé :

L'impression d'en-tête est une opération très simple en golang. Nous pouvons utiliser resp.Header pour obtenir les informations d'en-tête de réponse et appeler la fonction fmt.Println() pour l'imprimer ; nous pouvons également utiliser la fonction http.Header() pour créer un nouvel objet Header et utiliser la fonction Add() ; pour ajouter des paires clé-valeur. Si vous avez besoin d'un traitement d'en-tête plus riche, vous pouvez également utiliser des bibliothèques tierces telles que github.com/golobby/httpheader.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn