From 9a41f766d22ca5671aa10b6a312613276171edc1 Mon Sep 17 00:00:00 2001 From: kenneth <1185230223@qq.com> Date: Mon, 1 Aug 2022 10:44:20 +0800 Subject: [PATCH] Update fetcher.go --- pkg/fetcher/fetcher.go | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/pkg/fetcher/fetcher.go b/pkg/fetcher/fetcher.go index c613beb..9523cd9 100644 --- a/pkg/fetcher/fetcher.go +++ b/pkg/fetcher/fetcher.go @@ -16,23 +16,23 @@ import ( "golang.org/x/text/encoding/unicode" ) -// Get get 请求 -func Get(url string) ([]byte, error) { - client := &http.Client{} +// Get get请求 +func Get(url string, timeout int) ([]byte, error) { + client := &http.Client{Timeout: time.Second * time.Duration(timeout)} req, err := http.NewRequest("GET", url, nil) if err != nil { - return nil, fmt.Errorf("get new request err: %v", err) + return nil, fmt.Errorf("[get] new request err: %v", err) } resp, err := client.Do(req) if err != nil { - return nil, err + return nil, fmt.Errorf("[get] client do err: %v", err) } defer resp.Body.Close() res, err := ioutil.ReadAll(resp.Body) if err != nil { - return nil, err + return nil, fmt.Errorf("read response err: %v", err) } return res, nil @@ -44,18 +44,18 @@ func GetJson(url string, parameter []byte, timeout int) ([]byte, error) { byteParameter := bytes.NewBuffer(parameter) req, err := http.NewRequest("GET", url, byteParameter) if err != nil { - return nil, fmt.Errorf("get json new request err: %v", err) + return nil, fmt.Errorf("[getjson] new request err: %v", err) } resp, err := client.Do(req) if err != nil { - return nil, fmt.Errorf("get json request do err: %v", err) + return nil, fmt.Errorf("[getjson] client do err: %v", err) } defer resp.Body.Close() res, err := ioutil.ReadAll(resp.Body) if err != nil { - return nil, err + return nil, fmt.Errorf("read response err: %v", err) } return res, nil @@ -67,23 +67,23 @@ func PostJson(url, parameter string, timeout int) ([]byte, error) { byteParameter := bytes.NewBuffer([]byte(parameter)) request, err := http.NewRequest("POST", url, byteParameter) if err != nil { - return nil, fmt.Errorf("post json new request err: %v", err) + return nil, fmt.Errorf("[postjson] new request err: %v", err) } request.Header.Set("Content-type", "application/json") response, err := client.Do(request) if err != nil { - return nil, fmt.Errorf("post json request do err: %v", err) + return nil, fmt.Errorf("[postjson] client do err: %v", err) } defer response.Body.Close() if response.StatusCode != 200 { - return nil, errors.New("网络请求失败") + return nil, errors.New("request not equal 200") } all, err := io.ReadAll(response.Body) if err != nil { - return nil, errors.New("读取网络内容失败") + return nil, fmt.Errorf("read response err: %v", err) } return all, nil @@ -95,35 +95,35 @@ func PostString(url, parameter string, timeout int) ([]byte, error) { byteParameter := bytes.NewBuffer([]byte(parameter)) request, err := http.NewRequest("POST", url, byteParameter) if err != nil { - return nil, fmt.Errorf("post string new request err: %v", err) + return nil, fmt.Errorf("[poststring] new request err: %v", err) } request.Header.Set("Content-type", "application/x-www-form-urlencoded") response, err := client.Do(request) if err != nil { - return nil, fmt.Errorf("post string new request err: %v", err) + return nil, fmt.Errorf("[poststring] client do err: %v", err) } defer response.Body.Close() if response.StatusCode != 200 { - return nil, errors.New("网络请求失败") + return nil, errors.New("request not equal 200") } all, err := ioutil.ReadAll(response.Body) if err != nil { - return nil, errors.New("读取网络内容失败") + return nil, fmt.Errorf("read response err: %v", err) } return all, nil } func determiningEncoding(r *bufio.Reader) encoding.Encoding { - bytes, err := r.Peek(1024) + b, err := r.Peek(1024) if err != nil && err != io.EOF { log.Printf("Fetcher error: %v", err) return unicode.UTF8 } - e, _, _ := charset.DetermineEncoding(bytes, "") + e, _, _ := charset.DetermineEncoding(b, "") return e }