Maison > développement back-end > Golang > Comment définir le type de contenu approprié pour les requêtes POST en plusieurs parties dans Go ?

Comment définir le type de contenu approprié pour les requêtes POST en plusieurs parties dans Go ?

Mary-Kate Olsen
Libérer: 2024-10-24 03:30:31
original
352 Les gens l'ont consulté

How to Set Proper Content-Type for Multipart POST Requests in Go?

Requêtes HTTP multipart dans Go

La création de requêtes multipart, couramment utilisées pour envoyer des données dans des formats spécifiques, peut être réalisée à l'aide du package multipart dans Aller. Voyons comment résoudre ce problème.

Considérons le scénario suivant : envoyer une requête POST en plusieurs parties composée à la fois de données JSON et d'une limite. Cette limite sépare différentes parties de la requête.

De nombreuses tentatives ont été faites, comme illustré dans l'extrait de code donné. Cependant, le serveur renvoie systématiquement une erreur HTTP 200, indiquant que le type de message n'est pas pris en charge.

Pour résoudre ce problème, nous devons définir correctement le type de contenu de chaque partie. Voici le code modifié :

<code class="go">body := &bytes.Buffer{}
writer := multipart.NewWriter(body)

part, _ := writer.CreatePart(textproto.MIMEHeader{
    "Content-Type": {"application/json"},
})
part.Write(jsonStr)

writer.Close()

req, _ := http.NewRequest("POST", "http://1.1.1.1/blabla", body)
req.Header.Set(
    "Content-Type",
    "multipart/mixed; boundary="+writer.Boundary(),
)</code>
Copier après la connexion

En définissant le Content-Type: application/json pour la partie contenant les données JSON, nous nous assurons que le serveur puisse interpréter correctement la requête. Le paramètre de limite est également défini de manière appropriée pour correspondre au format attendu.

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
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal