| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- package util
 
- import (
 
- 	"encoding/json"
 
- 	"fmt"
 
- 	"io/ioutil"
 
- 	"log"
 
- 	"net/http"
 
- )
 
- // GetHTTPResponse 处理HTTP结果,返回序列化的json
 
- func GetHTTPResponse(resp *http.Response, url string, err error, result interface{}) error {
 
- 	body, err := GetHTTPResponseOrg(resp, url, err)
 
- 	if err == nil {
 
- 		// log.Println(string(body))
 
- 		err = json.Unmarshal(body, &result)
 
- 		if err != nil {
 
- 			log.Printf("请求接口%s解析json结果失败! ERROR: %s\n", url, err)
 
- 		}
 
- 	}
 
- 	return err
 
- }
 
- // GetHTTPResponseOrg 处理HTTP结果,返回byte
 
- func GetHTTPResponseOrg(resp *http.Response, url string, err error) ([]byte, error) {
 
- 	if err != nil {
 
- 		log.Printf("请求接口%s失败! ERROR: %s\n", url, err)
 
- 		return nil, err
 
- 	}
 
- 	defer resp.Body.Close()
 
- 	body, err := ioutil.ReadAll(resp.Body)
 
- 	if err != nil {
 
- 		log.Printf("请求接口%s失败! ERROR: %s\n", url, err)
 
- 	}
 
- 	// 300及以上状态码都算异常
 
- 	if resp.StatusCode >= 300 {
 
- 		errMsg := fmt.Sprintf("请求接口 %s 失败! 返回内容: %s ,返回状态码: %d\n", url, string(body), resp.StatusCode)
 
- 		log.Println(errMsg)
 
- 		err = fmt.Errorf(errMsg)
 
- 	}
 
- 	return body, err
 
- }
 
 
  |