GoColly为每个请求设置代理

时间:2019-09-02 09:26:20

标签: go

我开始与科利打交道。 我正在尝试为每个请求设置代理。但是所有请求都不会通过代理

应该可以 https://github.com/gocolly/colly/blob/master/request.go#L52

我已将此添加到我的代码中。但是请求像以前一样没有代理

c.OnRequest(func(r *colly.Request) { 
  r.ProxyURL = "..." 
}

也许我不正确地理解它应该如何工作

1 个答案:

答案 0 :(得分:0)

不是在回调函数中设置ProxyURL,而是尝试在收集器上设置它吗?

// SetProxy sets a proxy for the collector. This method overrides the previously
// used http.Transport if the type of the transport is not http.RoundTripper.
// The proxy type is determined by the URL scheme. "http"
// and "socks5" are supported. If the scheme is empty,
// "http" is assumed.
func (c *Collector) SetProxy(proxyURL string) error {
    proxyParsed, err := url.Parse(proxyURL)
    if err != nil {
        return err
    }

    c.SetProxyFunc(http.ProxyURL(proxyParsed))

    return nil
}