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 ፕሮክሲ ዝርዝር ለመቀያየሪያው የመጨረሻ ነጥብ ግብዓቶች ይፋዊ እጩዎችን ያቀርባል።

SetProxy ቋሚ የመጨረሻ ነጥብ ይመርጣል፤ SetProxyFunc የHTTP transport በየጥያቄው እንዲመርጥ ይፈቅዳል። በእያንዳንዱ OnRequest መልሶ ጥሪ ውስጥ የተጋራውን ውቅር ከመተካት ይቆጥባል።

በዚህ አተገባበር ውስጥ SetProxyFunc ደግሞ DisableKeepAlives ወደ እውነት ያዘጋጃል። አሁን ያለውን *http.Transport ያሻሽላል፣ ነገር ግን የተለየ የtransport ዓይነት በአዲስ HTTP transport ይተካል። ማንኛውም ብጁ RoundTripper ባህሪ እንደሚተርፍ ከመገመት ይልቅ ሆን ብለው ይጠብቁ።

Collector.Clone የHTTP backend ያጋራል፣ ስለዚህ የቅዳሴውን ፕሮክሲ መቀየር ያንን የተጋራ backend ሊቀይር ይችላል። ከተመሳሳይ ጊዜ ሥራ በፊት ባለቤትነትን ያረጋግጡ። የወረፋ ምርጫ የቀረቡትን የመጨረሻ ነጥቦች ይመላለሳል፣ የተረጋገጡ ይፋዊ የመውጫ ማንነቶች ወይም በራሳቸው የተረጋገጠ ተገኝነት አይደለም።

ተዛማጅ ጽሑፎች