Colly ringproxy valik rakendusega SetProxyFunc
Kasutage SetProxyFunc ringvaliku jaoks, pidades silmas keep-alive'i, transporti asendamise ja kloonitud backend'i mõju.
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/")Kasutage rakenduse funktsioonis github.com/gocolly/colly/v2 ja selle proxy paketti, säilitades tavalise veatöötluse. Seadistage valija enne, kui päringud või asünkroonsed külastused algavad. HTTP-prokside loend pakub lüliti endpoint-sisendite jaoks avalikke kandidaate.
SetProxy valib fikseeritud endpoint'i; SetProxyFunc lubab HTTP transportil valida iga päringu kohta. See väldib jagatud konfiguratsiooni asendamist iga OnRequest tagasikutse sees.
Selles teostuses seab SetProxyFunc ka DisableKeepAlives väärtusele true. See uuendab olemasolevat *http.Transport, kuid asendab teist tüüpi transporti uue HTTP transportiga. Säilitage kohandatud RoundTripperi käitumine teadlikult, selle asemel et eeldada, et see jääb püsima.
Collector.Clone jagab HTTP backend'i, seega klooni proksi muutmine võib muuta seda jagatud backend'i. Määrake omandiõigus enne paralleelset tööd. Ringvalik roteerib antud endpoint'e, mitte kontrollitud avalikke väljumisidentiteete ega sõltumatult kontrollitud kättesaadavust.