Слияние кода завершено, страница обновится автоматически
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 )