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-терді айналдырады, тексерілген жалпыға қолжетімді шығу сәйкестіктерін немесе тәуелсіз тексерілген қолжетімділікті емес.