SetProxyFunc менен Colly'де айланма прокси тандоо
Айланма тандоо үчүн SetProxyFunc колдонуңуз, keep-alive, transport алмаштыруу жана клондолгон backend таасирлерин эске алыңыз.
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/")Колдонмонун функциясында github.com/gocolly/colly/v2 жана анын proxy пакетин колдонуңуз, каталарды кадимкидей иштетүүнү сактаңыз. Селекторду сурамдар же асинхрондук кирүүлөр башталганга чейин конфигурациялаңыз. HTTP прокси тизмеси которуштургучтун endpoint киргизүүлөрү үчүн коомдук талапкерлерди сунуштайт.
SetProxy туруктуу endpoint тандайт; SetProxyFunc HTTP transport-ко ар бир сурам боюнча тандоого жол берет. Бул ар бир OnRequest кайтарым чакыруусунун ичинде жалпы конфигурацияны алмаштыруудан сактайт.
Бул ишке ашырууда SetProxyFunc DisableKeepAlives маанисин да true кылып коёт. Ал бар болгон *http.Transport жаңыртат, бирок башка transport түрүн жаңы HTTP transport менен алмаштырат. Каалаган RoundTripper жүрүм-туруму сакталат деп болжолдоонун ордуна аны атайын сактаңыз.
Collector.Clone HTTP backend-ти бөлүшөт, ошондуктан клондун проксисин өзгөртүү ошол жалпы backend-ти өзгөртүшү мүмкүн. Кошумча иштерден мурун ээликти аныктаңыз. Айланма тандоо берилген endpoint-терди айландырат, текшерилген коомдук чыгуу инсандыктарын же көз карандысыз текшерилген жеткиликтүүлүктү эмес.