ExecAllocator මත chromedp හි ProxyServer සකසන්න
ProxyServer දරන ExecAllocator වෙතින් බ්රවුසර context සාදන්න, එවිට අදහස් කළ Chromium ක්රියාවලියට එහි proxy ධජය ලැබේ.
chromedp.ProxyServer යනු බ්රවුසරය දියත් කිරීමේ විකල්පයකි. Chromium ක්රියාවලිය සාදන allocator ට එය යොදන්න:
opts := append(chromedp.DefaultExecAllocatorOptions[:],
chromedp.ProxyServer("http://proxy.example:8080"),
)
allocCtx, cancelAllocator := chromedp.NewExecAllocator(
context.Background(), opts...,
)
defer cancelAllocator()
tabCtx, cancelTab := chromedp.NewContext(allocCtx)
defer cancelTab()
err := chromedp.Run(tabCtx,
chromedp.Navigate("https://www.example.com/"),
)
කේතය යෙදුමේ පවතින ශ්රිතයේ තිබිය යුතු අතර, err සඳහා සාමාන්ය දෝෂ කළමනාකරණය සමඟ. NewContext allocCtx වෙතින් allocator උරුම කරගනී. වෙනත් parent එකකින් සාදන ලද context එකක් එම විකල්පය නොමැතිව වෙනත් බ්රවුසරයක් සෑදිය හැක.
proxy URL එකක් HTTP listener එකක් හඳුනාගනී; පොදු අපේක්ෂකයින් HTTP proxy ලැයිස්තුවේ ඇත; පිටුව HTTPS ගමනාන්තයක් ලෙසම පවතී. ProxyServer Chromium හි --proxy-server ධජයට සිතියම් වේ, Go හි net/http proxy වින්යාසයට නොවේ.
Chromium අතින් දෙන ලද proxy URL එකක් තුළ කාවැද්දූ පරිශීලක නාමය සහ මුරපදය පිළිගන්නේ නැත. සත්යාපිත endpoint එකකට සහාය දක්වන බ්රවුසර සත්යාපනයක් හෝ මැදිහත් විධිවිධානයක් අවශ්ය වේ; මෙම ධජයට user:password එකතු කිරීම HTTP client URL සත්යාපනයට සමාන නොවේ. Chrome හි CDP සත්යාපන සිදුවීම් ප්රවාහය අදහස් කළ proxy අභියෝගය හැසිරවීමට සහාය දක්වන මාර්ගයකි.
බ්රවුසර කටයුතු අවසන් වන තෙක් allocator සජීවීව තබා ගන්න. එය අවලංගු කිරීම ද ක්රියාවලි පිරිසිදු කිරීමේ කොටසකි, නමුත් tab අවලංගු කිරීම අදාළ බ්රවුසර context සීමා කරයි.