"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment créer des requêtes HTTP multiparts avec Gomultipart dans Golang ?

Comment créer des requêtes HTTP multiparts avec Gomultipart dans Golang ?

Publié le 2024-11-16
Parcourir:408

How to Create Multipart HTTP Requests with Gomultipart in Golang?

Comment utiliser le multipart dans Go

multipart dans Golang est un outil puissant pour créer des requêtes HTTP en plusieurs parties. Cela peut être particulièrement utile lors de l'envoi de données comprenant à la fois du texte et du contenu de fichier.

Solution

Pour créer une demande de formulaire en plusieurs parties, suivez ces étapes :

  1. Instancier un bytes.Buffer et un objet multipart.Writer.
  2. Utilisez multipart.Writer pour créer des objets multipart.Part, un pour chaque partie du request.
  3. Définissez l'en-tête Content-Type de la requête sur la valeur renvoyée parwriter.FormDataContentType().
  4. Écrivez le contenu des parties de la requête dans multipart.Writer.
  5. Appelezwriter.Close() pour terminer la requête.

Exemple

Dans votre exemple, vous créeriez un fichier mixte en plusieurs parties requête comme suit :

body := &bytes.Buffer{}
writer := multipart.NewWriter(body)

part, err := writer.CreatePart(textproto.MIMEHeader{"Content-Type": {"application/json"}})
if err != nil {
    // handle error
}

part.Write(jsonStr)

writer.Close()

req, err := http.NewRequest("POST", "blabla", body)
if err != nil {
    // handle error
}

req.Header.Set("Content-Type", "multipart/mixed; boundary=" writer.Boundary())

Astuce bonus : en utilisant cURL

Vous pouvez également générer une requête en plusieurs parties en utilisant cURL avec la commande suivante :

curl -F "field=value" -H "Content-Type: multipart/mixed; boundary=boundary" http://1.1.1.1/blabla
Déclaration de sortie Cet article est réimprimé à l'adresse : 1729690430. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3