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 பின்னழைப்பிற்குள்ளும் பகிரப்பட்ட உள்ளமைவை மாற்றுவதைத் தவிர்க்கிறது.
இந்தச் செயலாக்கத்தில், SetProxyFunc DisableKeepAlives ஐயும் true ஆக அமைக்கிறது. இது ஏற்கனவே உள்ள *http.Transport ஐப் புதுப்பிக்கிறது, ஆனால் வேறு வகை transport ஐ புதிய HTTP transport ஆல் மாற்றுகிறது. எந்தவொரு தனிப்பயன் RoundTripper நடத்தையும் அது தொடர்ந்து இருக்கும் எனக் கருதாமல் வேண்டுமென்றே பாதுகாக்கவும்.
Collector.Clone HTTP backend ஐப் பகிர்கிறது, எனவே ஒரு நகலின் ப்ராக்ஸியை மாற்றுவது அந்தப் பகிரப்பட்ட backend ஐ மாற்றலாம். ஒரே நேரப் பணிக்கு முன் உரிமையைத் தீர்மானிக்கவும். சுற்று-ராபின் தேர்வு வழங்கப்பட்ட endpoint களைச் சுழற்றுகிறது, சரிபார்க்கப்பட்ட பொது வெளியேறும் அடையாளங்களை அல்லது தனித்தனியாகச் சரிபார்க்கப்பட்ட கிடைக்கும் தன்மையை அல்ல.