code: func (c *Client) DownloadRequest(ctx context.Context, u *url.URL, param *Download) (*http.Response, error) {
  	req, err := http.NewRequest(param.Method, u.String(), nil)
  	if err != nil {
  		return nil, err
  	}
  
  	req = req.WithContext(ctx)
  
  	for k, v := range param.Headers {
  		req.Header.Add(k, v)
  	}
  
  	if param.Ticket != nil {
  		req.AddCookie(param.Ticket)
  	}
  
  	return c.Client.Do(req)
  }
docs: // DownloadRequest wraps http.Client.Do, returning the http.Response without checking its StatusCode