diff --git a/pkg/fetcher/fetcher.go b/pkg/fetcher/fetcher.go index 81e7661..27cbcc7 100644 --- a/pkg/fetcher/fetcher.go +++ b/pkg/fetcher/fetcher.go @@ -4,6 +4,7 @@ import ( "bufio" "bytes" "errors" + "fmt" "io" "io/ioutil" "log" @@ -18,7 +19,10 @@ import ( // Get get 请求 func Get(url string) ([]byte, error) { client := &http.Client{} - req, _ := http.NewRequest("GET", url, nil) + req, err := http.NewRequest("GET", url, nil) + if err != nil { + return nil, fmt.Errorf("get new request err: %v", err) + } resp, err := client.Do(req) if err != nil { @@ -40,12 +44,12 @@ 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, err + return nil, fmt.Errorf("get json new request err: %v", err) } resp, err := client.Do(req) if err != nil { - return nil, err + return nil, fmt.Errorf("get json request do err: %v", err) } defer resp.Body.Close() @@ -61,16 +65,27 @@ func GetJson(url string, parameter []byte, timeout int) ([]byte, error) { func PostJson(url, parameter string, timeout int) ([]byte, error) { client := &http.Client{Timeout: time.Second * time.Duration(timeout)} byteParameter := bytes.NewBuffer([]byte(parameter)) - request, _ := http.NewRequest("POST", url, byteParameter) + request, err := http.NewRequest("POST", url, byteParameter) + if err != nil { + return nil, fmt.Errorf("post json new request err: %v", err) + } + request.Header.Set("Content-type", "application/json") - response, _ := client.Do(request) + response, err := client.Do(request) + if err != nil { + return nil, fmt.Errorf("post json request do err: %v", err) + } + defer response.Body.Close() + if response.StatusCode != 200 { return nil, errors.New("网络请求失败") } + all, err := io.ReadAll(response.Body) if err != nil { return nil, errors.New("读取网络内容失败") } + return all, nil } @@ -78,16 +93,27 @@ func PostJson(url, parameter string, timeout int) ([]byte, error) { func PostString(url, parameter string, timeout int) ([]byte, error) { client := &http.Client{Timeout: time.Second * time.Duration(timeout)} byteParameter := bytes.NewBuffer([]byte(parameter)) - request, _ := http.NewRequest("POST", url, byteParameter) + request, err := http.NewRequest("POST", url, byteParameter) + if err != nil { + return nil, fmt.Errorf("post string new request err: %v", err) + } + request.Header.Set("Content-type", "application/x-www-form-urlencoded") - response, _ := client.Do(request) + response, err := client.Do(request) + if err != nil { + return nil, fmt.Errorf("post string new request err: %v", err) + } + defer response.Body.Close() + if response.StatusCode != 200 { return nil, errors.New("网络请求失败") } + all, err := ioutil.ReadAll(response.Body) if err != nil { return nil, errors.New("读取网络内容失败") } + return all, nil }