博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go语言封装Http协议GET和POST请求
阅读量:5089 次
发布时间:2019-06-13

本文共 1419 字,大约阅读时间需要 4 分钟。

本文几乎没有文字叙述:

 

/*有关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}

 

版权声明

本文为作者原创,版权归作者所有。 转载必须保留文章的完整性,且在页面明显位置处标明。

如有问题, 请和作者联系。

转载于:https://www.cnblogs.com/Cwj-XFH/p/8733739.html

你可能感兴趣的文章
C# async/await异步操作:异步执行方法封装
查看>>
display:inline、block、inline-block的区别
查看>>
geotrellis使用(二十五)将Geotrellis移植到spark2.0
查看>>
新生代内存中为什么要有两个survivor区
查看>>
Loser’s “Brute-forced Cholesky Factorization for Sparse Matrix on CUDA”
查看>>
c#脚本控制shader
查看>>
SQL返回逗号分隔字符串或者其它符号
查看>>
Unity 游戏对象消失 enable,destroy与active的区别
查看>>
C++之new和malloc差别
查看>>
[LeetCode] Best Time to Buy and Sell Stock
查看>>
POJ2185-Milking Grid(KMP,next数组的应用)
查看>>
统计学习方法学习笔记(二)--经验风险最小化,结构风险最小化
查看>>
表单提交取不到表单中参数的正确值的问题小计
查看>>
Masonry 与 frame 混用导致的问题
查看>>
搭建个人博客
查看>>
Invalid byte tag in constant pool: 19 与 javax/el/ELManager问题解决
查看>>
SQL Server Like 与 通配符
查看>>
IDEA快捷键
查看>>
学习进度博客十五
查看>>
java并发学习04---Future模式
查看>>