[go] 멀티파트 HTTP 응답을 다루는 go 언어의 mime/multipart 패키지 활용
인터넷에서 파일을 업로드하거나 파일을 다운로드하는 경우, HTTP 요청과 응답은 대부분 멀티파트(multipart) 형식으로 전송됩니다. Golang에서는 mime/multipart
패키지를 사용하여 멀티파트 HTTP 응답을 다룰 수 있습니다. 이 패키지는 멀티파트 형식의 데이터를 파싱하고 처리하는 기능을 제공합니다.
멀티파트 응답 파싱하기
멀티파트 응답을 파싱하려면 mime/multipart
패키지를 사용하여 HTTP 응답 본문을 읽고, 파싱하여 각 파트의 데이터를 추출해야 합니다. 다음은 간단한 예제 코드입니다.
package main
import (
"fmt"
"io"
"mime/multipart"
"net/http"
)
func main() {
// HTTP 요청 보내기
resp, err := http.Get("http://example.com/api")
if err != nil {
fmt.Println("HTTP 요청 실패:", err)
return
}
defer resp.Body.Close()
// 멀티파트 리더 생성
mr := multipart.NewReader(resp.Body, resp.Header.Get("Content-Type"))
// 각 파트의 데이터 읽기
for {
p, err := mr.NextPart()
if err == io.EOF {
break
}
if err != nil {
fmt.Println("파트 읽기 실패:", err)
return
}
fmt.Println("파트 헤더:", p.Header)
// 파트의 데이터 처리
}
}
결론
mime/multipart
패키지를 사용하면 Golang에서 멀티파트 HTTP 응답을 효과적으로 다룰 수 있습니다. 이를 통해 파일 업로드, 다운로드 및 기타 멀티파트 형식의 데이터를 처리할 수 있습니다.
더 자세한 내용은 Golang 공식 문서를 참고하시기 바랍니다.