"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo crear solicitudes HTTP multiparte con Gomultipart en Golang?

¿Cómo crear solicitudes HTTP multiparte con Gomultipart en Golang?

Publicado el 2024-11-16
Navegar:766

How to Create Multipart HTTP Requests with Gomultipart in Golang?

Cómo usar multipart en Go

multipart en Golang es una poderosa herramienta para crear solicitudes HTTP de varias partes. Esto puede resultar especialmente útil al enviar datos que incluyen texto y contenido de archivo.

Solución

Para crear una solicitud de formulario de varias partes, siga estos pasos:

  1. Crear una instancia un bytes.Buffer y un objeto multipart.Writer.
  2. Utilice multipart.Writer para crear objetos multipart.Part, uno para cada parte del request.
  3. Establezca el encabezado Content-Type de la solicitud en el valor devuelto por el escritor.FormDataContentType().
  4. Escriba el contenido de las partes de la solicitud en multipart.Writer.
  5. Llame a escritor.Close() para completar la solicitud.

Ejemplo

En su ejemplo, crearía una solicitud mixta de varias partes como sigue:

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

Consejo adicional: usando cURL

También puede generar una solicitud de varias partes usando cURL con el siguiente comando:

curl -F "field=value" -H "Content-Type: multipart/mixed; boundary=boundary" http://1.1.1.1/blabla
Declaración de liberación Este artículo se reimprime en: 1729690430 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3