15 Star 90 Fork 25

konyshe/gogo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
UtilsHttpClient.go 2.24 KB
一键复制 编辑 原始数据 按行查看 历史
package gogo
import (
"bytes"
"encoding/json"
"io"
"io/ioutil"
"net/http"
"time"
)
// HttpClientGet 发送GET请求
// url: 请求地址
// timeOut: 请求超时时间
func HttpClientGet(url string, timeOut time.Duration) (res []byte) {
client := &http.Client{Timeout: timeOut}
resp, err := client.Get(url)
if err == nil {
defer resp.Body.Close()
if res, err = ioutil.ReadAll(resp.Body); err == nil {
return res
}
}
LogError(err)
return nil
}
// HttpClientPostData 发送POST请求
// url: 请求地址
// data: POST请求提交的结构体,GoGo会转换为json提交
// contentType:请求体格式,如:application/json
// timeOut: 请求超时时间,单位秒
func HttpClientPostData(url string, data interface{}, timeOut time.Duration) (res []byte) {
client := &http.Client{Timeout: timeOut}
jsonStr, _ := json.Marshal(data)
resp, err := client.Post(url, "application/json", bytes.NewBuffer(jsonStr))
if err == nil {
defer resp.Body.Close()
if res, err = ioutil.ReadAll(resp.Body); err == nil {
return res
}
}
LogError(err)
return nil
}
// HttpClientPostIO 发送POST请求
// url: 请求地址
// body: POST请求提交的内容,io.Reader类型
// contentType:请求体格式,如:application/json
// timeOut: 请求超时时间,单位秒
func HttpClientPostIO(url string, body io.Reader, contentType string, timeOut time.Duration) (res []byte) {
client := &http.Client{Timeout: timeOut}
resp, err := client.Post(url, contentType, body)
if err == nil {
defer resp.Body.Close()
if res, err = ioutil.ReadAll(resp.Body); err == nil {
return res
}
}
LogError(err)
return nil
}
// HttpClientPostByte 发送POST请求
// url: 请求地址
// body: POST请求提交的内容,[]byte类型
// contentType:请求体格式,如:application/json
// timeOut: 请求超时时间,单位秒
func HttpClientPostByte(url string, body []byte, contentType string, timeOut time.Duration) (res []byte) {
client := &http.Client{Timeout: timeOut}
resp, err := client.Post(url, contentType, bytes.NewBuffer(body))
if err == nil {
defer resp.Body.Close()
if res, err = ioutil.ReadAll(resp.Body); err == nil {
return res
}
}
LogError(err)
return nil
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/konyshe/gogo.git
git@gitee.com:konyshe/gogo.git
konyshe
gogo
gogo
v2

搜索帮助