本文几乎没有文字叙述:
/*有关Http协议GET和POST请求的封装*/package netimport ( "net/http" "io" "bytes" "encoding/json" "io/ioutil" "time")//发送GET请求//url:请求地址//response:请求返回的内容func Get(url string) (response string) { client := http.Client{Timeout: 5 * time.Second} resp, error := client.Get(url) defer resp.Body.Close() if error != nil { panic(error) } 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) } } response = result.String() return}//发送POST请求//url:请求地址,data:POST请求提交的数据,contentType:请求体格式,如:application/json//content:请求放回的内容func Post(url string, data interface{}, contentType string) (content string) { jsonStr, _ := json.Marshal(data) req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr)) req.Header.Add("content-type", contentType) if err != nil { panic(err) } defer req.Body.Close() client := &http.Client{Timeout: 5 * time.Second} resp, error := client.Do(req) if error != nil { panic(error) } defer resp.Body.Close() result, _ := ioutil.ReadAll(resp.Body) content = string(result) return}
版权声明
本文为作者原创,版权归作者所有。 转载必须保留文章的完整性,且在页面明显位置处标明。
如有问题, 请和作者联系。