모두의 프린터는 어떠한 경우에도 회원가입, 카드결제를 요구하지 않습니다.

간단한 파일 다운로드(HTTP GET)

프로그래밍을 하다보면 HTTP GET방식으로 파일을 다운받아 저장해야할 일이 종종 있습니다. 그런떄 사용가능한 GET 방식의 간단한 파일 다운로드 예제입니다.

Go
func downloadFile(filepath string, url string) error {

	// Create the file
	out, err := os.Create(filepath)
	if err != nil {
		return err
	}
	defer out.Close()

	// Request 객체 생성
	req, err := http.NewRequest("GET", url, nil)
	if err != nil {
		return err
	}

	//필요시 헤더 추가 가능
	req.Header.Add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36")

	// Client객체에서 Request 실행
	client := &http.Client{}
	rep, err := client.Do(req)
	if err != nil {
		return err
	}

	defer func() {
		rep.Body.Close()
	}()

	// Write the body to file
	_, err = io.Copy(out, rep.Body)
	if err != nil {
		return err
	}

	return nil
}

%d 블로거가 이것을 좋아합니다: