Heim > Backend-Entwicklung > Golang > Wie lege ich den richtigen Inhaltstyp für mehrteilige POST-Anfragen in Go fest?

Wie lege ich den richtigen Inhaltstyp für mehrteilige POST-Anfragen in Go fest?

Mary-Kate Olsen
Freigeben: 2024-10-24 03:30:31
Original
350 Leute haben es durchsucht

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

HTTP-Multipart-Anfragen in Go

Das Erstellen von Multipart-Anfragen, die häufig zum Senden von Daten in bestimmten Formaten verwendet werden, kann mithilfe des Multipart-Pakets in erreicht werden Gehen. Sehen wir uns an, wie wir dieses Problem angehen können.

Stellen Sie sich das folgende Szenario vor: Senden einer mehrteiligen POST-Anfrage, die sowohl aus JSON-Daten als auch einer Grenze besteht. Diese Grenze trennt verschiedene Teile der Anfrage.

Es wurden zahlreiche Versuche unternommen, wie im angegebenen Codeausschnitt dargestellt. Der Server gibt jedoch regelmäßig einen HTTP-Fehler 200 zurück, was darauf hinweist, dass der Nachrichtentyp nicht unterstützt wird.

Um dieses Problem zu beheben, müssen wir den Inhaltstyp jedes Teils korrekt festlegen. Hier ist der geänderte Code:

<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>
Nach dem Login kopieren

Durch die Festlegung des Content-Type: application/json für den Teil, der die JSON-Daten enthält, stellen wir sicher, dass der Server die Anfrage korrekt interpretieren kann. Der Grenzparameter wird ebenfalls entsprechend eingestellt, um dem erwarteten Format zu entsprechen.

Das obige ist der detaillierte Inhalt vonWie lege ich den richtigen Inhaltstyp für mehrteilige POST-Anfragen in Go fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage