Roghnú seachfhreastalaí round-robin i Colly le SetProxyFunc
Úsáid SetProxyFunc le haghaidh roghnú round-robin, agus súil agat ar éifeachtaí keep-alive, athsholáthar transport agus an backend clónáilte.
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/")Úsáid github.com/gocolly/colly/v2 agus a phacáiste proxy i bhfeidhm an aip, agus coinnigh an ghnáthláimhseáil earráidí. Cumraigh an roghnóir sula dtosaíonn iarratais nó cuairteanna asincrónacha. Soláthraíonn an liosta seachfhreastalaithe HTTP iarrthóirí poiblí d'ionchuir endpoint an mhalartóra.
Roghnaíonn SetProxy endpoint seasta; ligeann SetProxyFunc don transport HTTP roghnú in aghaidh an iarratais. Seachnaítear athsholáthar na cumraíochta roinnte taobh istigh de gach aisghlao OnRequest.
Sa chur i bhfeidhm seo, socraíonn SetProxyFunc DisableKeepAlives go true freisin. Nuashonraíonn sé *http.Transport atá ann cheana, ach athsholáthraíonn sé cineál transport eile le transport HTTP nua. Caomhnaigh go toiliúil aon iompar saincheaptha RoundTripper seach a bheith ag glacadh leis go maireann sé.
Roinneann Collector.Clone an backend HTTP, mar sin féadann athrú ar sheachfhreastalaí clóin an backend roinnte sin a athrú. Socraigh úinéireacht roimh obair chomhthráthach. Rothlaíonn roghnú round-robin na endpoints a sholáthraítear, ní féiniúlachtaí imeachta poiblí fíoraithe ná infhaighteacht a sheiceáiltear go neamhspleách.