Maison > développement back-end > Golang > le corps du texte

Un article présentant le package de requêtes http de Golang

PHPz
Libérer: 2023-04-24 15:07:44
original
846 Les gens l'ont consulté

Golang est un langage de programmation émergent rapidement qui a également attiré beaucoup d'attention dans la programmation réseau. Dans Golang, la programmation réseau peut être facilement effectuée en utilisant le package de requête http. Cet article présentera le package de requêtes http de Golang, y compris la connaissance de l'envoi de requêtes http, de la réception de réponses http, etc.

  1. Envoyer une requête http

Dans Golang, utilisez la fonction http.NewRequest() pour créer une requête http. Les paramètres de cette fonction incluent la méthode de requête, l'URL, le corps de la requête, etc.

func NewRequest(method, url string, body io.Reader) (*Request, error)
Copier après la connexion

Exemple de code :

package main

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

func main() {
    url := "http://example.com"
    jsonStr := []byte(`{"name":"John"}`)

    req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
    req.Header.Set("Content-Type", "application/json")

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println("response Body:", string(body))
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction http.NewRequest() pour créer une requête POST et définir le Content-Type de l'en-tête de la requête. Vous pouvez utiliser http.Client{} pour envoyer une requête et lire le corps de la réponse via la fonction ReadAll() du package ioutil.

  1. Recevoir une réponse http

Dans Golang, la structure http.Response est utilisée pour représenter la réponse http. La structure comprend le code d'état de la réponse, l'en-tête de la réponse, le corps de la réponse et d'autres informations.

type Response struct {
    Status     string
    StatusCode int
    Proto      string
    ProtoMajor int
    ProtoMinor int
    Header     Header
    Body       io.ReadCloser
    ContentLength int64
    TransferEncoding []string
    Close bool
    Uncompressed bool
    Trailer Header
    Request *Request
    TLS *tls.ConnectionState
    Cancel <-chan struct{}
}
Copier après la connexion

Exemple de code :

package main

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

func main() {
    resp, err := http.Get("http://example.com")
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    fmt.Println("response Status:", resp.Status)
    fmt.Println("response Headers:", resp.Header)
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println("response Body:", string(body))
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction http.Get() pour envoyer une requête GET et obtenons le code d'état de la réponse, l'en-tête de la réponse et le corps de la réponse via resp.Status, resp.Header , et resp.Body respectivement et affichez-le sous forme de chaîne.

Résumé

Le package de requête http de Golang fournit une interface de programmation réseau très pratique, rendant la programmation réseau simple et efficace. Nous pouvons créer des requêtes http via des fonctions telles que http.NewRequest() et http.Get(), et obtenir des informations de réponse http via la structure http.Response. La maîtrise du package de requêtes http de Golang peut améliorer la réutilisabilité et la lisibilité du code lors de la mise en œuvre de serveurs et de services Web.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!