diff --git a/httplib/httplib.go b/httplib/httplib.go index b1f209c9..dbcb2fed 100644 --- a/httplib/httplib.go +++ b/httplib/httplib.go @@ -355,7 +355,7 @@ func (b *BeegoHttpRequest) getResponse() (*http.Response, error) { Jar: jar, } - if b.setting.UserAgent != "" { + if b.setting.UserAgent != "" && b.req.Header.Get("User-Agent") == "" { b.req.Header.Set("User-Agent", b.setting.UserAgent) } diff --git a/httplib/httplib_test.go b/httplib/httplib_test.go index 02068c0b..976ce498 100644 --- a/httplib/httplib_test.go +++ b/httplib/httplib_test.go @@ -203,3 +203,13 @@ func TestToFile(t *testing.T) { t.Fatal(err) } } + +func TestHeader(t *testing.T) { + req := Get("http://httpbin.org/headers") + req.Header("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36") + str, err := req.String() + if err != nil { + t.Fatal(err) + } + t.Log(str) +}