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/")

Brûk github.com/gocolly/colly/v2 en syn proxy-pakket yn 'e funksje fan 'e applikaasje, en hâld normale flaterôfhanneling oan. Konfigurearje de selektor foardat oanfragen of asynkrone besiken begjinne. De HTTP-proksylist leveret iepenbiere kandidaten foar de endpoint-ynfier fan 'e skeakelder.

SetProxy kiest in fêst endpoint; SetProxyFunc lit de HTTP-transport per oanfraach kieze. Dat foarkomt it ferfangen fan dielde konfiguraasje binnen elke OnRequest-callback.

Yn dizze ymplemintaasje set SetProxyFunc ek DisableKeepAlives op true. It bywurket in besteand *http.Transport, mar ferfangt in oar transporttype troch in nije HTTP-transport. Bewarje bewust elts oanpast RoundTripper-gedrach ynstee fan oan te nimmen dat it oerlibbet.

Collector.Clone dielt de HTTP-backend, dus it feroarjen fan 'e proxy fan in kloan kin dy dielde backend feroarje. Bepaal eigendom foar parallel wurk. Rûn-robin karring rotearret de oanlevere endpoints, net ferifisearre iepenbiere útgongsidentiteiten of ûnôfhinklik kontrolearre beskikberens.

Relatearre artikelen