Maison >développement back-end >Golang >Comment envoyer une requête HTTP JSON en utilisant Golang ?

Comment envoyer une requête HTTP JSON en utilisant Golang ?

WBOY
WBOYoriginal
2024-06-04 16:19:001027parcourir

Comment utiliser Go pour envoyer les étapes de requête HTTP JSON : Créez un objet http.Client. Créez un objet http.Request, en spécifiant l'URL et la méthode. Définissez l’en-tête de la requête et définissez Content-Type sur application/json. Encodez les données JSON dans un tableau d'octets. Définit le tableau d'octets dans le corps de la requête. Envoyez la demande et traitez la réponse.

如何使用 Golang 发送 HTTP JSON 请求?

Comment envoyer des requêtes HTTP JSON à l'aide de Go

Introduction

Le langage Go rend l'envoi de requêtes JSON très simple grâce à sa riche bibliothèque HTTP. Cet article vous expliquera comment utiliser le package net/http pour envoyer des requêtes HTTP JSON et fournira un cas pratique. net/http 包来发送 HTTP JSON 请求,并提供一个实战案例。

发送 JSON 请求

发送 JSON 请求需要以下步骤:

  1. 创建一个 http.Client 对象。
  2. 创建一个 http.Request 对象,指定要发送请求的 URL 和方法。
  3. 设置请求头,将 Content-Type 设置为 application/json
  4. Envoyer une requête JSON
  5. L'envoi d'une requête JSON nécessite les étapes suivantes :
    1. Créez un objet http.Client.

    Créez un objet http.Request et spécifiez l'URL et la méthode pour envoyer la requête. Définissez l'en-tête de la requête et définissez Content-Type sur application/json.

    Encodez les données JSON dans un tableau d'octets. Définissez le tableau d'octets dans le corps de la requête.

    Envoyez la demande et gérez la réponse.

    🎜🎜🎜Exemple de code🎜🎜
    import (
        "bytes"
        "encoding/json"
        "fmt"
        "io/ioutil"
        "net/http"
    )
    
    func main() {
        // 创建数据
        data := map[string]string{"name": "Alice", "age": "25"}
    
        // 编码 JSON 数据
        jsonBytes, err := json.Marshal(data)
        if err != nil {
            fmt.Printf("Error encoding JSON: %v", err)
            return
        }
    
        // 创建请求
        req, err := http.NewRequest("POST", "http://example.com", bytes.NewReader(jsonBytes))
        if err != nil {
            fmt.Printf("Error creating request: %v", err)
            return
        }
    
        // 设置请求头
        req.Header.Set("Content-Type", "application/json")
    
        // 发送请求
        client := &http.Client{}
        resp, err := client.Do(req)
        if err != nil {
            fmt.Printf("Error sending request: %v", err)
            return
        }
    
        // 读取响应
        defer resp.Body.Close()
        body, err := ioutil.ReadAll(resp.Body)
        if err != nil {
            fmt.Printf("Error reading response: %v", err)
            return
        }
    
        fmt.Println("Response:", string(body))
    }
    🎜🎜Exemple pratique🎜🎜🎜Cet exemple envoie une requête JSON à l'API pour créer un nouvel utilisateur : 🎜
    // 创建用户数据
    type User struct {
        Name string `json:"name"`
        Age  int    `json:"age"`
    }
    
    user := &User{Name: "Bob", Age: 30}
    
    // 编码 JSON 数据
    jsonBytes, err := json.Marshal(user)
    // ...
    
    // ... 使用上文中的其余代码发送请求 ...

    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