Maison >développement back-end >Golang >en-tête de requête http Golang
Golang est un langage de programmation populaire utilisé pour créer des applications Web hautes performances. Lors du développement d'applications Web, les en-têtes de requête HTTP constituent un élément essentiel, fournissant des informations sur la requête et des instructions sur la manière dont la requête doit être traitée.
Cet article discutera du contenu pertinent des en-têtes de requête HTTP dans Golang, y compris ce que sont les en-têtes de requête HTTP, la structure de base des en-têtes de requête HTTP, comment définir les en-têtes de requête HTTP dans Golang et certains couramment utilisés Champ d’en-têtes de requête HTTP.
Que sont les en-têtes de requête HTTP ?
L'en-tête de requête HTTP fait référence à une série de paramètres de paire clé-valeur situés après la première ligne de la requête HTTP. Il est utilisé pour fournir des informations supplémentaires pour aider le serveur Web à traiter la requête et informer le serveur. client comment gérer correctement les réponses du serveur. Les en-têtes de requête HTTP sont envoyés par le client (navigateur ou autre application) au serveur Web.
La structure de base de l'en-tête de requête HTTP
L'en-tête de requête HTTP se compose de plusieurs paires nom et valeur. Le nom et la valeur sont séparés par deux points et chaque paire clé-valeur est séparée par un caractère de nouvelle ligne.
Ce qui suit est un exemple d'en-tête de requête HTTP :
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 Accept-Language: en-US,en;q=0.5 Referer: http://www.example.com/ Connection: keep-alive
Comment définir les en-têtes de requête HTTP dans Golang
La définition des en-têtes de requête HTTP dans Golang est très simple . Voici un exemple de définition d'en-têtes de requête HTTP dans Golang :
package main import ( "fmt" "io/ioutil" "net/http" ) func main() { req, err := http.NewRequest("GET", "http://www.example.com", nil) if err != nil { fmt.Println(err) return } // 设置HTTP请求头 req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36") client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Println(err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
Dans l'exemple ci-dessus, nous utilisons la fonction http.NewRequest() pour créer une requête GET, puis utilisons Header.Set( ) pour définir l’en-tête de requête User -Agent. Enfin, nous utilisons la méthode Do() de http.Client pour envoyer la requête HTTP et lire le corps de la réponse.
Champs d'en-tête de requête HTTP courants
Voici quelques champs d'en-tête de requête HTTP couramment utilisés :
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!