Għażla round-robin tal-proxy f'Colly bis-SetProxyFunc
Uża SetProxyFunc għall-għażla round-robin, filwaqt li tqis l-effetti tal-keep-alive, tas-sostituzzjoni tat-transport u tal-backend ikkolonjat.
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/")Uża github.com/gocolly/colly/v2 u l-pakkett proxy tiegħu fil-funzjoni tal-applikazzjoni, filwaqt li żżomm l-immaniġġjar normal tal-iżbalji. Ikkonfigura s-selettur qabel ma jibdew it-talbiet jew iż-żjarat asinkroni. Il-lista tal-proxy HTTP tipprovdi kandidati pubbliċi għall-inputs tal-endpoint tas-swiċċ.
SetProxy jagħżel endpoint fiss; SetProxyFunc iħalli t-transport HTTP jagħżel għal kull talba. Dan jevita li tissostitwixxi l-konfigurazzjoni kondiviża f'kull callback OnRequest.
F'dan l-implimentazzjoni, SetProxyFunc ukoll jissettja DisableKeepAlives għal true. Jaġġorna *http.Transport eżistenti, iżda jissostitwixxi tip differenti ta' transport b'transport HTTP ġdid. Ippreserva b'mod intenzjonat kwalunkwe mġiba RoundTripper personalizzata minflok ma tassumi li tibqa' ħajja.
Collector.Clone jaqsam il-backend HTTP, għalhekk it-tibdil tal-proxy ta' klonu jista' jbiddel dak il-backend kondiviż. Iddeċiedi s-sjieda qabel xogħol konkorrenti. L-għażla round-robin iddawwar l-endpoints fornuti, mhux identitajiet tal-ħruġ pubbliċi verifikati jew disponibbiltà ċċekkjata b'mod indipendenti.