Yíyan aṣojú kẹ̀rẹ̀kẹ̀rẹ̀ ní Colly pẹ̀lú SetProxyFunc
Lo SetProxyFunc fún yíyan kẹ̀rẹ̀kẹ̀rẹ̀, kí o sì ṣọ́ ipa keep-alive, rírọ́po transport àti backend tí wọ́n daakọ.
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/")Lo github.com/gocolly/colly/v2 àti àpò proxy rẹ̀ nínú iṣẹ́ ohun èlò náà, kí o sì pa ìtọ́jú àṣìṣe déédéé mọ́. Ṣètò olùyàn náà kí àwọn ìbéèrè tàbí ìbẹ̀wò aláìsíṣẹ́-ọ̀kọ̀ọ̀kan tó bẹ̀rẹ̀. Àkójọ aṣojú HTTP ń pèsè àwọn olùdíje gbogbo ènìyàn fún àwọn ìwọlé endpoint ti olùpààrọ̀.
SetProxy yan endpoint tí ó dúró; SetProxyFunc ń jẹ́ kí transport HTTP yan fún gbogbo ìbéèrè. Èyí yẹra fún rírọ́po ìṣètò tí wọ́n pín nínú gbogbo callback OnRequest.
Nínú ìmúṣẹ yìí, SetProxyFunc tún fi DisableKeepAlives sí true. Ó ń ṣe àtúnṣe *http.Transport tí ó wà, ṣùgbọ́n ó rọ́po irú transport mìíràn pẹ̀lú HTTP transport tuntun. Fi ìhùwàsí RoundTripper àkànṣe èyíkéyìí pamọ́ ní àmọ̀ọ́nú dípò rò pé yóò wà.
Collector.Clone pín HTTP backend, nítorí náà yíyan aṣojú ẹ̀dà kan lè yí backend pínpín yẹn padà. Pinnu ẹ̀tọ́ ṣáájú iṣẹ́ àpapọ̀. Yíyan kẹ̀rẹ̀kẹ̀rẹ̀ ń yí àwọn endpoint tí wọ́n fúnni, kì í ṣe àmì ìdánimọ̀ ìjáde gbogbo ènìyàn tí wọ́n ti ṣàyẹ̀wò tàbí wíwà tí wọ́n ṣàyẹ̀wò lọ́nà ìdádúró.