chromedp-ийн ProxyServer-ыг ExecAllocator дээр тохируулах
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 нь allocator-ыг allocCtx-ээс өвлөнө. Өөр эхээс үүсгэсэн context нь тэр сонголтгүйгээр өөр хөтөч үүсгэж болно.
proxy URL нь HTTP сонсогчийг заана; нийтийн нэр дэвшигчид HTTP proxy жагсаалтад байна; хуудас нь HTTPS очих газар хэвээр байна. ProxyServer нь Chromium-ы --proxy-server туг руу буудаг бөгөөд Go-ийн net/http proxy тохиргоо руу биш.
Chromium нь гараар өгсөн proxy URL-д шингээсэн хэрэглэгчийн нэр, нууц үгийг хүлээж авдаггүй. Баталгаажсан endpoint-д дэмжигдсэн хөтчийн баталгаажуулалт эсвэл зуучлагчийн шийдэл хэрэгтэй; энэ тугид user:password нэмэх нь HTTP клиентийн URL баталгаажуулалттай тэнцэхгүй. Chrome-ы CDP баталгаажуулалтын үйл явдлын урсгал нь зорьсон proxy сорилтыг шийдвэрлэх дэмжигдсэн замуудын нэг.
Хөтчийн ажил дуустал allocator-ыг амьд байлга. Түүнийг цуцлах нь процесс цэвэрлэх үйл ажиллагааны нэг хэсэг бөгөөд табыг цуцлах нь холбогдох хөтчийн context-ыг хязгаарлана.