Maison > Article > développement back-end > Comment faire une requête HTTP POST en utilisant Golang ?
L'utilisation de Go pour effectuer des requêtes HTTP POST nécessite : l'importation de packages HTTP ; la création de requêtes HTTP ; l'envoi de requêtes et le traitement des réponses ;
Comment faire une requête HTTP POST à l'aide de Go
Faire une requête HTTP POST dans Go est une tâche courante qui permet au client d'envoyer des données au serveur. Cet article vous guide étape par étape tout au long du processus de création de requêtes POST à l'aide de Go.
Étape 1 : Importer le package HTTP
Tout d'abord, vous devez importer le package HTTP, qui fournit la fonctionnalité HTTP dans Go.
import "net/http"
Étape 2 : Créer une requête HTTP
Ensuite, créez une nouvelle requête HTTP à l'aide de la fonction http.NewRequest
. Cette fonction accepte une méthode de requête, une URL de requête et un corps HTTP facultatif. http.NewRequest
函数创建一个新的 HTTP 请求。此函数接受请求方法、请求 URL 和可选的 HTTP 主体。
req, err := http.NewRequest("POST", "https://example.com/api/endpoint", body) if err != nil { // 处理错误 }
步骤 3:设置请求头
根据需要设置请求头。以下是设置内容类型头的一个示例:
req.Header.Set("Content-Type", "application/json")
步骤 4:发送请求
使用 http.Client
发送请求。
client := &http.Client{} resp, err := client.Do(req) if err != nil { // 处理错误 }
步骤 5:处理响应
处理响应并从 resp
defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body)
Étape 3 : Définir les en-têtes de demande
Définissez les en-têtes de demande selon vos besoins. Voici un exemple de définition de l'en-tête de type de contenu :package main import ( "bytes" "encoding/json" "fmt" "io/ioutil" "net/http" ) func main() { // 创建要发送的数据 data := map[string]interface{}{ "name": "John Doe", "age": 30, } jsonBytes, err := json.Marshal(data) if err != nil { // 处理错误 } // 创建请求 req, err := http.NewRequest("POST", "http://localhost:8080/api/create", bytes.NewReader(jsonBytes)) if err != nil { // 处理错误 } // 设置内容类型头 req.Header.Set("Content-Type", "application/json") // 发送请求 client := &http.Client{} resp, err := client.Do(req) if err != nil { // 处理错误 } defer resp.Body.Close() // 处理响应 body, err := ioutil.ReadAll(resp.Body) if err != nil { // 处理错误 } // 打印响应主体 fmt.Println(string(body)) }🎜Étape 4 : Envoyer la demande🎜🎜🎜Utilisez
http.Client
pour envoyer la demande. 🎜rrreee🎜🎜Étape 5 : Traiter la réponse 🎜🎜🎜Traitez la réponse et lisez le corps de la réponse à partir de resp
. 🎜rrreee🎜🎜Cas pratique🎜🎜🎜Voici un exemple complet montrant comment utiliser Go pour envoyer une requête POST à un point de terminaison API sur localhost : 🎜rrreeeCe 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!