代碼實(shí)例:
package main
import (
"bytes"
"encoding/json"
"io"
"io/ioutil"
"net/http"
"time"
)
// 發(fā)送GET請求
// url: 請求地址
// response: 請求返回的內(nèi)容
func Get(url string) string {
// 超時(shí)時(shí)間:5秒
client := &http.Client{Timeout: 5 * time.Second}
resp, err := client.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()
var buffer [512]byte
result := bytes.NewBuffer(nil)
for {
n, err := resp.Body.Read(buffer[0:])
result.Write(buffer[0:n])
if err != nil && err == io.EOF {
break
} else if err != nil {
panic(err)
}
}
return result.String()
}
// 發(fā)送POST請求
// url: 請求地址
// data: POST請求提交的數(shù)據(jù)
// contentType: 請求體格式,如:application/json
// content: 請求放回的內(nèi)容
func Post(url string, data interface{}, contentType string) string {
// 超時(shí)時(shí)間:5秒
client := &http.Client{Timeout: 5 * time.Second}
jsonStr, _ := json.Marshal(data)
resp, err := client.Post(url, contentType, bytes.NewBuffer(jsonStr))
if err != nil {
panic(err)
}
defer resp.Body.Close()
result, _ := ioutil.ReadAll(resp.Body)
return string(result)
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者