"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como criar solicitações HTTP multipartes com Gomultipart em Golang?

Como criar solicitações HTTP multipartes com Gomultipart em Golang?

Publicado em 2024-11-16
Navegar:759

How to Create Multipart HTTP Requests with Gomultipart in Golang?

Como usar multipart em Go

multipart em Golang é uma ferramenta poderosa para criar solicitações HTTP multipart. Isso pode ser particularmente útil ao enviar dados que incluem texto e conteúdo de arquivo.

Solução

Para criar uma solicitação de formulário multiparte, siga estas etapas:

  1. Instanciar um bytes.Buffer e um objeto multipart.Writer.
  2. Use o multipart.Writer para criar objetos multipart.Part, um para cada parte do request.
  3. Defina o cabeçalho Content-Type da solicitação para o valor retornado porwriter.FormDataContentType().
  4. Grave o conteúdo das partes da solicitação no multipart.Writer.
  5. Chame Writer.Close() para concluir a solicitação.

Exemplo

No seu exemplo, você criaria uma solicitação mista multipartes da seguinte forma:

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

Dica bônus: usando cURL

Você também pode gerar uma solicitação multipart usando cURL com o seguinte comando:

curl -F "field=value" -H "Content-Type: multipart/mixed; boundary=boundary" http://1.1.1.1/blabla
Declaração de lançamento Este artigo foi reimpresso em: 1729690430 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3