1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/konyshe-gogo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
UtilsHttpClient.go 2.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
kony Отправлено 14.02.2022 08:18 13e3120
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
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/konyshe-gogo.git
git@api.gitlife.ru:oschina-mirror/konyshe-gogo.git
oschina-mirror
konyshe-gogo
konyshe-gogo
v2