package tool import ( "io" "net/http" "time" ) const UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36" type HttpClient struct { *http.Client } var httpClient *HttpClient func init() { httpClient = &HttpClient{http.DefaultClient} httpClient.Timeout = time.Second * 10 } func GetHttpClient() *HttpClient { c := *httpClient return &c } func (c *HttpClient) Get(url string) (resp *http.Response, err error) { req, err := http.NewRequest(http.MethodGet, url, nil) if err != nil { return nil, err } req.Header.Set("Accept-Language", "zh-CN,zh;q=0.9,en;q=0.8") req.Header.Set("User-Agent", UserAgent) return c.Do(req) } func (c *HttpClient) Post(url string, body io.Reader) (resp *http.Response, err error) { req, err := http.NewRequest(http.MethodPost, url, body) if err != nil { return nil, err } req.Header.Set("Accept-Language", "zh-CN,zh;q=0.9,en;q=0.8") req.Header.Set("User-Agent", UserAgent) return c.Do(req) }