Doorashada proxy-ga wareegga ee Colly iyada oo la adeegsanayo SetProxyFunc
Isticmaal SetProxyFunc doorashada wareegga, adigoo tixgelinaya saameynta keep-alive, beddelka transport iyo backend-ka la koobiyeeyay.
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/")Isticmaal github.com/gocolly/colly/v2 iyo xidhmada proxy ee ku jirta shaqada barnaamijka, adigoo ilaalinaya maaraynta khaladaadka caadiga ah. Habee doorashada ka hor inta aan codsiyada ama booqashooyinka asynchronous bilaaban. Liiska proxy-ga HTTP wuxuu bixiyaa musharixiin dadweyne oo loogu talagalay gelinta endpoint-ka beddelaha.
SetProxy wuxuu doortaa endpoint go'an; SetProxyFunc wuxuu u oggolaanayaa transport-ka HTTP inuu doorto codsi kasta. Tani waxay ka fogaataa beddelka habaynta la wadaago gudaha callback kasta oo OnRequest ah.
Hawlgelintan, SetProxyFunc wuxuu kaloo dhigaa DisableKeepAlives true. Wuxuu cusboonaysiiyaa *http.Transport jira, laakiin wuxuu ku beddelaa nooc transport kale HTTP transport cusub. Si ula kac ah u ilaali habdhaqanka RoundTripper ee gaarka ah halkii aad ka fikiri lahayd inuu sii noolaan doono.
Collector.Clone wuxuu wadaagaa HTTP backend, sidaas darteed beddelka proxy-ga koobi wuxuu beddeli karaa backend-kaas la wadaago. Go'aami lahaanshaha ka hor shaqada isku mar ah. Doorashada wareegga waxay rogaa endpoint-yada la bixiyay, ma aha aqoonsiga bixitaanka dadweynaha ee la xaqiijiyay ama helitaanka si madax banaan loo baadhay.