Golang

[Golang] http request 보내는 법

CHERMINI 2023. 2. 11.

[Golang] http request 보내는 법

Go에서는 'net/http'패키지를 사용하여 HTTP 요청을 할 수 있습니다.

 

GET

다음은 URL에 GET 요청을 하고 응답을 인쇄하는 방법에 대한 간단한 예입니다.

package main

import (
	"fmt"
	"io/ioutil"
	"net/http"
)

func main() {
	resp, err := http.Get("https://www.example.com")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer resp.Body.Close()

	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(string(body))
}

 

POST

POST 요청을 만들고 요청 본문에 요청 매개변수 또는 데이터를 포함할 수 있습니다. 다음은 POST 요청의 예입니다.

package main

import (
	"bytes"
	"fmt"
	"io/ioutil"
	"net/http"
)

func main() {
	data := []byte("request_data")
	req, err := http.NewRequest("POST", "https://www.example.com", bytes.NewBuffer(data))
	if err != nil {
		fmt.Println(err)
		return
	}

	req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		fmt.Println(err)
		return
	}
	defer resp.Body.Close()

	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(string(body))
}

 

자세한 정보와 옵션은 'net/http' 패키지 설명서에서 찾을 수 있습니다.

'Golang' 카테고리의 다른 글

[Golang] 이미지 파일 읽고 쓰기  (0) 2023.02.13
[Golang] csv 파일 읽고 쓰는 법  (0) 2023.02.12
[Golang] 파일 실행 권한 설정  (0) 2023.02.11
[Golang] JSON 파싱하는 법  (0) 2023.02.11
[Golang] nil map  (0) 2023.01.21

댓글

💲 추천 글