glang 다양한 http 요청
1785 단어 golang
func HttpGet(url string) ([]byte, error) {
resp, err := http.Get(url)
if err != nil {
// handle error
return nil, err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
// handle error
return nil, err
}
return body, err
}
func HttpPostForm(queryUrl string, queryData map[string]string) ([]byte, error) {
// )
if len(queryData) == 0 || queryUrl == "" {
return nil, errors.New(" ")
}
url.Parse(queryUrl)
urlValue := url.Values{}
for k, v := range queryData {
var valList = make([]string, 1)
valList[0] = v
urlValue[k] = valList
}
resp, err := http.PostForm(queryUrl, urlValue)
if err != nil {
return nil, err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
return body, nil
}
func HttpPostJson(queryUrl string, queryData map[string]string) ([]byte, error) {
if len(queryData) == 0 || queryUrl == "" {
return nil, errors.New(" ")
}
jsonStr, err := json.Marshal(queryData)
if err != nil {
return nil, errors.New("json ")
}
// jsonStr := []byte()
req, err := http.NewRequest("POST", queryUrl, bytes.NewBuffer([]byte(jsonStr)))
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
return body, nil
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
set containerThere is no built-in set container in Go How to implement Set struct{} => type struct{}{} => 0bytes How to create set :=...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.