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 ଘୂରାଏ, ଯାଞ୍ଚ ହୋଇଥିବା ସାର୍ବଜନୀନ exit ପରିଚୟ କିମ୍ବା ସ୍ୱାଧୀନ ଭାବେ ଯାଞ୍ଚ ହୋଇଥିବା ଉପଲବ୍ଧତା ନୁହେଁ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ