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 ನಲ್ಲಿ ಎಂಬೆಡ್ ಆದ username/password ಅನ್ನು ಸ್ವೀಕರಿಸುವುದಿಲ್ಲ. ದೃಢೀಕೃತ endpoint ಗೆ ಬೆಂಬಲಿತ ಬ್ರೌಸರ್ ದೃಢೀಕರಣ ಅಥವಾ ಮಧ್ಯವರ್ತಿ ವ್ಯವಸ್ಥೆ ಬೇಕು; ಈ ಫ್ಲ್ಯಾಗ್‌ಗೆ user:password ಸೇರಿಸುವುದು HTTP client URL ದೃಢೀಕರಣಕ್ಕೆ ಸಮವಲ್ಲ. Chrome ನ CDP ದೃಢೀಕರಣ ಘಟನಾ ಹರಿವು ಉದ್ದೇಶಿತ proxy ಸವಾಲನ್ನು ನಿಭಾಯಿಸಲು ಬೆಂಬಲಿತ ಮಾರ್ಗಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ.

ಬ್ರೌಸರ್ ಕೆಲಸ ಮುಗಿಯುವವರೆಗೆ allocator ಅನ್ನು ಜೀವಂತವಾಗಿರಿಸಿ. ಅದರ ರದ್ದತಿಯೂ ಪ್ರಕ್ರಿಯೆ ಸ್ವಚ್ಛತೆಯ ಭಾಗ, ಆದರೆ tab ರದ್ದತಿ ಸಂಬಂಧಿತ ಬ್ರೌಸರ್ context ಅನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು