Taghadh proxy round-robin ann an Colly le SetProxyFunc
Cleachd SetProxyFunc airson taghadh round-robin, a' cumail sùil air buaidh keep-alive, ath-chur transport agus an backend clonaichte.
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/")Cleachd github.com/gocolly/colly/v2 agus a phacaid proxy ann an gnìomh na h-aplacaid, a' gleidheadh làimhseachadh àbhaisteach mhearachdan. Rèitich an tagraiche mus tòisich iarrtasan no tadhail asyncronach. Bheir an liosta proxy HTTP tagraichean poblach seachad airson cuir-a-steach endpoint an tionndaidh.
Taghaidh SetProxy endpoint stèidhichte; leigidh SetProxyFunc leis an transport HTTP taghadh airson gach iarrtais. Seachnaidh seo ath-chur na rèiteachaidh co-roinnte taobh a-staigh gach callback OnRequest.
Anns a' chur an gnìomh seo, suidhichidh SetProxyFunc DisableKeepAlives gu true cuideachd. Ùraichidh e *http.Transport a th' ann mar-thà, ach cuiridh e seòrsa transport eadar-dhealaichte an àite transport HTTP ùr. Glèidh gu h-aona-ghnothaich giùlan RoundTripper gnàthaichte sam bith an àite a bhith a' gabhail ris gun mair e.
Co-roinnidh Collector.Clone an backend HTTP, mar sin faodaidh atharrachadh proxy cloin an backend co-roinnte sin atharrachadh. Suidhich seilbh mus tèid obair cho-aontach. Cuairticheann taghadh round-robin na endpointan a chaidh a thoirt seachad, chan e dearbh-aithnean fàgail poblach dearbhaichte no ruigsinneachd a chaidh a sgrùdadh gu neo-eisimeileach.