collector := colly.NewCollector()
switcher, err := proxy.RoundRobinProxySwitcher(
    "http://proxy-a.example:8080",
    "http://proxy-b.example:8080",
)
if err != nil {
    return err
}
collector.SetProxyFunc(switcher)
err = collector.Visit("https://www.example.com/")

Erabili github.com/gocolly/colly/v2 eta bere proxy paketea aplikazioaren funtzioan, ohiko errore-kudeaketa mantenduz. Konfiguratu hautatzailea eskaerak edo bisita asinkronoak hasi aurretik. HTTP proxy zerrendak hautagai publikoak ematen ditu etengailuaren endpoint sarreretarako.

SetProxy endpoint finkoa aukeratzen du; SetProxyFunc HTTP transportari eskaera bakoitzeko aukeratzen uzten dio. Horrela, saihestu egiten da konfigurazio partekatua OnRequest callback bakoitzaren barruan ordezkatzea.

Inplementazio honetan, SetProxyFunc-ek DisableKeepAlives true baliora ezartzen du ere. Lehendik dagoen *http.Transport eguneratzen du, baina beste transport mota bat HTTP transport berri batekin ordezkatzen du. Gorde nahita RoundTripper-en portaera pertsonalizatu oro, biziraungo duela suposatu beharrean.

Collector.Clone-ek HTTP backend partekatzen du, beraz klon baten proxya aldatzeak backend partekatu hori alda dezake. Erabaki jabetza lan paraleloa baino lehen. Errota-bidezko hautaketak emandako endpointak txandakatzen ditu, ez egiaztatutako irteera-identitate publikoak ezta modu independentean egiaztatutako erabilgarritasuna ere.

Erlazionatutako artikuluak