Heim  >  Artikel  >  Backend-Entwicklung  >  So erstellen Sie mehrteilige Anfragen mit Mime-Typen in Go

So erstellen Sie mehrteilige Anfragen mit Mime-Typen in Go

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 03:21:02140Durchsuche

How to Construct Multipart Requests with Mime Types in Go

Mehrteilige Anfragen in Go

Das Erstellen mehrteiliger Anfragen in Go kann eine Herausforderung sein, insbesondere wenn bestimmte Anfrageformate eingehalten werden. Um zu verstehen, wie man Multipart-Anfragen effektiv nutzt, betrachten wir ein Beispiel, bei dem die Zielanforderung die Form annimmt:

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

Zuvor wurde versucht, eine solche Anfrage mithilfe von multipart.NewWriter und einer Standardteilerstellung zu generieren , was zu Problemen bei der Inhaltserkennung führte. Um dieses Problem zu lösen, kann der folgende Ansatz verwendet werden:

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

Durch die Angabe des Inhaltstyps beim Erstellen des Teils kann die Anfrage dem erwarteten Format entsprechen und die erforderlichen Daten erfolgreich übertragen.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie mehrteilige Anfragen mit Mime-Typen in Go. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn