„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie erstelle ich mehrteilige HTTP-Anfragen mit Gomultipart in Golang?

Wie erstelle ich mehrteilige HTTP-Anfragen mit Gomultipart in Golang?

Veröffentlicht am 16.11.2024
Durchsuche:604

How to Create Multipart HTTP Requests with Gomultipart in Golang?

So verwenden Sie Multipart in Go

Multipart in Golang ist ein leistungsstarkes Tool zum Erstellen mehrteiliger HTTP-Anfragen. Dies kann besonders nützlich sein, wenn Daten gesendet werden, die sowohl Text- als auch Dateiinhalte enthalten.

Lösung

Um eine mehrteilige Formularanforderung zu erstellen, befolgen Sie diese Schritte:

  1. Instanziieren ein bytes.Buffer und ein multipart.Writer-Objekt.
  2. Verwenden Sie den multipart.Writer, um multipart.Part-Objekte zu erstellen, eines für jeden Teil der Anfrage.
  3. Legen Sie den Content-Type-Header von fest die Anfrage auf den von write.FormDataContentType() zurückgegebenen Wert.
  4. Schreiben Sie den Inhalt der Anfrageteile in den multipart.Writer.
  5. Rufen Sie write.Close() auf, um die Anfrage abzuschließen.

Beispiel

In Ihrem Beispiel würden Sie eine mehrteilige gemischte Anfrage wie folgt erstellen:

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

part, err := writer.CreatePart(textproto.MIMEHeader{"Content-Type": {"application/json"}})
if err != nil {
    // handle error
}

part.Write(jsonStr)

writer.Close()

req, err := http.NewRequest("POST", "blabla", body)
if err != nil {
    // handle error
}

req.Header.Set("Content-Type", "multipart/mixed; boundary=" writer.Boundary())

Bonus-Tipp: Mit cURL

Sie können auch eine mehrteilige Anfrage generieren Verwenden von cURL mit dem folgenden Befehl:

curl -F "field=value" -H "Content-Type: multipart/mixed; boundary=boundary" http://1.1.1.1/blabla
Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729690430 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3