本文几乎没有文字叙述:
/*有关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]byteresult := 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}
版权声明
本文为作者原创,版权归作者雪飞鸿所有。 转载必须保留文章的完整性,且在页面明显位置处标明原文链接。
如有问题, 请发送邮件和作者联系。