Colly-ren proxy hautespen errota-bidezkoa SetProxyFunc-ekin
Erabili SetProxyFunc errota-bidezko hautaketarako, kontuan hartuta keep-alive, transport ordezkatze eta backend klonatuaren ondorioak.
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.