代码拉取完成,页面将自动刷新
package tool
import (
"errors"
"io/ioutil"
"net/http"
"net/url"
"strings"
"time"
)
// HttpGet 请求 响应内容过大不建议使用此方法
func HttpGet(url string, header map[string]string) (int, []byte, error) {
req, err := http.NewRequest(http.MethodGet, url, nil)
if err != nil {
return 0, nil, err
}
for k, v := range header {
req.Header.Add(k, v) //请求类型
}
client := &http.Client{
Timeout: 10 * time.Second, //设置超时时间
}
resp, err := client.Do(req)
if err != nil {
return 0, nil, err
}
if resp != nil {
defer resp.Body.Close()
} else {
return 0, nil, errors.New("http.Request not is nil")
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return 0, nil, err
}
return resp.StatusCode, body, nil
}
// HttpPostForm 请求 响应内容过大不建议使用此方法
func HttpPostForm(url string, data url.Values, header map[string]string) (int, []byte, error) {
req, err := http.NewRequest(http.MethodPost, url, strings.NewReader(data.Encode()))
if err != nil {
return 0, nil, err
}
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
for k, v := range header {
req.Header.Add(k, v) //请求类型
}
client := &http.Client{
Timeout: 10 * time.Second, //设置超时时间
}
resp, err := client.Do(req)
if err != nil {
return 0, nil, err
}
if resp != nil {
defer resp.Body.Close()
} else {
return 0, nil, errors.New("http.Request not is nil")
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return 0, nil, err
}
return resp.StatusCode, body, nil
}
// HttpPostJson 请求 响应内容过大不建议使用此方法
func HttpPostJson(url string, bodyRaw string, header map[string]string) (int, []byte, error) {
req, err := http.NewRequest(http.MethodPost, url, strings.NewReader(bodyRaw))
if err != nil {
return 0, nil, err
}
req.Header.Add("Content-Type", "application/json")
for k, v := range header {
req.Header.Add(k, v) //请求类型
}
client := &http.Client{
Timeout: 10 * time.Second, //设置超时时间
}
resp, err := client.Do(req)
if err != nil {
return 0, nil, err
}
if resp != nil {
defer resp.Body.Close()
} else {
return 0, nil, errors.New("http.Request not is nil")
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return 0, nil, err
}
return resp.StatusCode, body, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。