Skip to content

Commit 2769d8d

Browse files
author
bajins
committed
update 优化冗余
1 parent ec506f1 commit 2769d8d

File tree

1 file changed

+6
-73
lines changed

1 file changed

+6
-73
lines changed

utils/http.go

Lines changed: 6 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -93,74 +93,6 @@ func HttpProxyGet(rawurl string, header http.Header, proxyURL string) (io.ReadCl
9393
return nil, err
9494
}
9595

96-
// http.Client发送请求,此方式是封装的http.NewRequest方法
97-
//
98-
// method: 请求方法:POST、GET、PUT、DELETE
99-
// urlText: 请求地址
100-
// contentType: 请求数据类型,首字母简写,如:axwfu
101-
// params: 请求参数
102-
func HttpClient(method, urlText, contentType string, params map[string]string) (*http.Response, error) {
103-
if urlText == "" {
104-
panic(errors.New("url不能为空"))
105-
}
106-
client := http.Client{Timeout: 30 * time.Second}
107-
108-
var resp *http.Response
109-
var err error
110-
111-
method = strings.ToUpper(method)
112-
if method == "POST" {
113-
if params != nil {
114-
switch contentType {
115-
case "axwfu": // application/x-www-form-urlencoded
116-
data := make(url.Values)
117-
//data := url.Values{}
118-
for k, v := range params {
119-
data[k] = []string{v}
120-
//data.Set(k, v)
121-
}
122-
resp, err = client.PostForm(urlText, data)
123-
case "mf": // multipart/form-data
124-
data := url.Values{}
125-
for k, v := range params {
126-
data.Set(k, v)
127-
}
128-
resp, err = client.PostForm(urlText, data)
129-
case "tx": // text/xml
130-
jsonStr, err := json.Marshal(params)
131-
if err != nil {
132-
return nil, err
133-
}
134-
data := strings.ReplaceAll(string(jsonStr), " ", "+")
135-
resp, err = client.Post(urlText, contentType, bytes.NewBuffer([]byte(data)))
136-
default: // application/json
137-
jsonStr, err := json.Marshal(params)
138-
if err != nil {
139-
return nil, err
140-
}
141-
resp, err = client.Post(urlText, "application/json", bytes.NewBuffer(jsonStr))
142-
}
143-
} else {
144-
resp, err = client.Post(urlText, contentType, nil)
145-
}
146-
} else {
147-
if params != nil {
148-
urlText = urlText + "?"
149-
for key, value := range params {
150-
urlText += key + "=" + value + "&"
151-
}
152-
}
153-
// url编码
154-
//urlText=urlText.QueryEscape(urlText)
155-
if method == "HEAD" {
156-
resp, err = client.Head(urlText)
157-
} else {
158-
resp, err = client.Get(urlText)
159-
}
160-
}
161-
return resp, err
162-
}
163-
16496
// http.NewRequest发送请求
16597
//
16698
// method: 请求方法:POST、GET、PUT、DELETE
@@ -173,6 +105,7 @@ func HttpRequest(method, urlText, contentType string, params, header map[string]
173105
panic(errors.New("url不能为空"))
174106
}
175107
method = strings.ToUpper(method)
108+
176109
var req *http.Request
177110
var err error
178111
var body io.Reader
@@ -181,10 +114,8 @@ func HttpRequest(method, urlText, contentType string, params, header map[string]
181114
switch contentType {
182115
case "axwfu": // application/x-www-form-urlencoded;
183116
data := make(url.Values)
184-
//data := url.Values{}
185117
for k, v := range params {
186118
data[k] = []string{v}
187-
//data.Set(k, v)
188119
}
189120
body = strings.NewReader(data.Encode())
190121
contentType = "application/x-www-form-urlencoded; charset=utf-8"
@@ -224,14 +155,16 @@ func HttpRequest(method, urlText, contentType string, params, header map[string]
224155
if err != nil {
225156
return nil, err
226157
}
227-
228158
if header != nil {
229159
for key, value := range header {
230160
req.Header.Add(key, value)
231161
}
232162
}
233-
if req.Header.Get("content-type") == "" {
234-
req.Header.Add("content-type", contentType)
163+
if req.Header.Get("Content-Type") == "" && method == "POST" {
164+
req.Header.Set("Content-Type", contentType)
165+
}
166+
if req.Header.Get("User-Agent") == "" {
167+
req.Header.Set("User-Agent", UserAgent)
235168
}
236169
// dump出远程服务器返回的信息,调试请求
237170
//bd, err := httputil.DumpRequest(req, true)

0 commit comments

Comments
 (0)