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 callback бүрийн дотор хуваалцсан тохиргоог солихоос зайлсхийлгэдэг.
Энэ хэрэгжүүлэлтэд SetProxyFunc мөн DisableKeepAlives-г true болгоно. Энэ нь одоо байгаа *http.Transport-г шинэчилдэг боловч өөр төрлийн transport-ыг шинэ HTTP transport-оор сольдог. Ямар ч өөрчлөн тохируулсан RoundTripper зан төлөв үлдэнэ гэж таамаглахын оронд санаатайгаар хамгаалаарай.
Collector.Clone HTTP backend-ийг хуваалцдаг тул клоны проксиг өөрчлөх нь тэр хуваалцсан backend-ийг өөрчилж болно. Зэрэгцээ ажлын өмнө эзэмшлийг шийдээрэй. Ээлжлэн сонгох нь өгөгдсөн endpoint-уудыг эргүүлдэг, баталгаажсан нийтийн гарах таних тэмдгийг эсвэл бие даан шалгасан боломжтой байдлыг биш.