我使用golang chromedp作为无头set驱动程序,使用ccproxy作为代理服务器,根据this document,我设置了credentials标头,但chrome也会显示基本身份验证弹出窗口。

chromeDP (设置标题):

func (c *Browser) setHeaders() chromedp.Tasks {
    authData := base64.StdEncoding.EncodeToString([]byte(c.Proxy.User + ":" + c.Proxy.Password))
    headers := map[string]interface{}{
        "Proxy-Authorization": "Basic " + authData,
    }

    return chromedp.Tasks{
        network.Enable(),
        network.SetExtraHTTPHeaders(headers),
    }
}

..。申请:

if err := chromedp.Run(c.ctx,
    c.setHeaders(),
    chromedp.Navigate(c.NavigationUrl),
    chromedp.Reload(),
); err != nil {
    log.Println("error# ", err)
    return c
}