func (self *Surfer) Download(cReq *context.Request) *context.Response { cResp := context.NewResponse(nil) var resp *http.Response var err error switch cReq.GetDownloaderID() { case SURF_ID: resp, err = self.surf.Download(cReq) case PHANTOM_ID: resp, err = self.phantom.Download(cReq) } if resp != nil { // 确保Response与Request中的Url字符串相等 resp.Request.URL, _ = url.Parse(cReq.GetUrl()) } cResp.SetRequest(cReq) cResp.SetResponse(resp) cResp.SetError(err) return cResp }
func (self *Surfer) Download(cReq *context.Request) *context.Response { cResp := context.NewResponse(nil) var resp *http.Response var err error switch cReq.GetDownloaderID() { case SURF_ID: resp, err = self.surf.Download(cReq) case PHANTOM_ID: resp, err = self.phantom.Download(cReq) } cResp.Prepare(resp, cReq) cResp.SetError(err) return cResp }