From e1eec659379a3472a4106d9d4020c0b0b7cd25c4 Mon Sep 17 00:00:00 2001 From: Yun Date: Wed, 24 Jan 2024 23:27:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96UserAgent=E7=9A=84=E8=BE=93?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- options.go | 4 ++-- params.go | 13 ++++++++++++- request.go | 4 +++- 3 files changed, 17 insertions(+), 4 deletions(-) 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)) } } }