diff --git a/options.go b/options.go index b1d2ab0..e6f9c64 100644 --- a/options.go +++ b/options.go @@ -14,8 +14,8 @@ type clientOptions struct { func defaultOptions() clientOptions { return clientOptions{ - TimeOut: time.Second * 120, // 默认超时120 - Logger: defaultLogger{}, + TimeOut: time.Second * 120, // 默认超时120 + Logger: defaultLogger{}, } } diff --git a/params.go b/params.go index fa539d2..09162c6 100644 --- a/params.go +++ b/params.go @@ -89,7 +89,18 @@ func SetParamsFormFile(fieldName, fileName string, fileBytes []byte) Param { */ func SetParamsHeaders(h map[string]interface{}) Param { return func(param *ClientParams) { - param.Headers = h + for key, _ := range h { + param.Headers[key] = h[key] + } + } +} + +/** + * 设置UserAgent + */ +func SetUserAgent(userAgent UserAgent) Param { + return func(param *ClientParams) { + param.Headers["User-Agent"] = string(userAgent) } } diff --git a/request.go b/request.go index 4857601..5fd4c63 100644 --- a/request.go +++ b/request.go @@ -40,7 +40,7 @@ func (p *ClientParams) parseUrl() error { func (p *ClientParams) parseHeaders(r *http.Request) { if p.Headers != nil { if r.Header.Get("User-Agent") == "" { - r.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0 Send By Golang") + r.Header.Add("User-Agent", string(UserAgentChrome)) } for k, v := range p.Headers { switch value := v.(type) { @@ -52,6 +52,8 @@ func (p *ClientParams) parseHeaders(r *http.Request) { } case ContentType: r.Header.Set(k, string(value)) + case UserAgent: + r.Header.Set(k, string(value)) } } }