កំណត់ ProxyServer របស់ chromedp នៅលើ ExecAllocator
បង្កើត context កម្មវិធីរុករកពី ExecAllocator ដែលផ្ទុក ProxyServer ដើម្បីឱ្យដំណើរការ Chromium ដែលបានបម្រុងទទួលបានទង់ proxy របស់វា។
chromedp.ProxyServer គឺជាជម្រើសបើកកម្មវិធីរុករក។ អនុវត្តវាទៅលើ allocator ដែលបង្កើតដំណើរការ Chromium៖
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 ដែលបង្កើតពី parent ផ្សេងអាចបង្កើតកម្មវិធីរុករកផ្សេងដោយគ្មានជម្រើសនោះ។
URL proxy កំណត់អ្នកស្តាប់ HTTP; បេក្ខជនសាធារណៈមាននៅក្នុង បញ្ជី HTTP proxy; ទំព័រនៅតែជាគោលដៅ HTTPS។ ProxyServer ផ្គូផ្គងទៅនឹងទង់ --proxy-server របស់ Chromium មិនមែនទៅការកំណត់ proxy net/http របស់ Go ទេ។
Chromium មិនទទួលយកឈ្មោះអ្នកប្រើ និងពាក្យសម្ងាត់ដែលបញ្ចូលក្នុង URL proxy ដោយដៃទេ។ ចំណុចបញ្ចប់ដែលមានការផ្ទៀងផ្ទាត់ត្រូវការការផ្ទៀងផ្ទាត់កម្មវិធីរុករកដែលគាំទ្រ ឬការរៀបចំអន្តរការី; ការបន្ថែម user:password ទៅទង់នេះមិនស្មើនឹងការផ្ទៀងផ្ទាត់ URL ក្នុង HTTP client ទេ។ លំហូរព្រឹត្តិការណ៍ផ្ទៀងផ្ទាត់ CDP របស់ Chrome គឺជាផ្លូវមួយដែលគាំទ្រសម្រាប់ដោះស្រាយបញ្ហាប្រឈម proxy ដែលបានបម្រុង។
រក្សា allocator ឱ្យរស់រហូតដល់ការងារកម្មវិធីរុករកបញ្ចប់។ ការលុបចោលវាក៏ជាផ្នែកនៃការសម្អាតដំណើរការដែរ ខណៈការលុបចោលផ្ទាំងកំណត់វិសាលភាព context កម្មវិធីរុករកដែលពាក់ព័ន្ធ។