Maison > développement back-end > Golang > Comment construire des requêtes multiparts avec des types MIME dans Go

Comment construire des requêtes multiparts avec des types MIME dans Go

Barbara Streisand
Libérer: 2024-10-24 03:21:02
original
220 Les gens l'ont consulté

How to Construct Multipart Requests with Mime Types in Go

Requêtes multiparts dans Go

La création de requêtes multiparts dans Go peut être difficile, en particulier lorsque vous respectez des formats de requête spécifiques. Pour comprendre comment utiliser efficacement les requêtes multipart, considérons un exemple où la requête cible prend la forme :

POST /blabla HTTP/1.1
Host: 2.2.2.2
Authorization: moreblabla Content-Type: multipart/mixed; boundary=--rs0q5Jq0M2Yt08jU534d1q Content-Length: 347
Node: 1.1.1.1.1
--rs0q5Jq0M2Yt08jU534d1q Content-Type: application/json
{"hello" : "world"}
--rs0q5Jq0M2Yt08jU534d1q
Copier après la connexion

Auparavant, une tentative a été faite pour générer une telle requête en utilisant multipart.NewWriter et une création de pièce par défaut , ce qui a entraîné des problèmes de reconnaissance du contenu. Pour résoudre ce problème, l'approche suivante peut être utilisée :

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

// Create the part with the appropriate mime type
part, _ := writer.CreatePart(textproto.MIMEHeader{"Content-Type": {"application/json"}})
part.Write(jsonStr)

writer.Close()

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

En spécifiant le type de contenu lors de la création de la pièce, la requête peut adhérer au format attendu et transmettre avec succès les données requises.

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