קייַלעכיק פּראַקסי סעלעקציע אין Colly מיט SetProxyFunc
ניצט 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. באַשטימט אייגנטום פֿאַר גלײַכצײַטיקער אַרבעט. קייַלעכיק סעלעקציע דרייט די צוגעשטעלטע endpointen, ניט באַשטעטיקטע עפנטלעכע אַרויסגאַנג אידענטיטעטן אָדער אומאָפּהענגיק געפּרוּווטע פֿאַראַנען־זײַן.