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
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())
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!