代码拉取完成,页面将自动刷新
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
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。