WebView2 предоставляет проверку подлинности прокси через BasicAuthenticationRequested. Зарегистрируйте обработчик после инициализации CoreWebView2 и до начала навигации, которой нужен прокси.

webView.CoreWebView2.BasicAuthenticationRequested += (_, e) =>
{
    if (!Uri.TryCreate(e.Uri, UriKind.Absolute, out var challengeUri)
        || !challengeUri.Host.Equals(proxyHost,
            StringComparison.OrdinalIgnoreCase)
        || challengeUri.Port != proxyPort)
    {
        return;
    }

    e.Response.UserName = proxyUser;
    e.Response.Password = proxyPassword;
};

Приложение передает настроенные значения proxyHost, proxyPort и учетной записи. При прокси-запросе Uri события — это URI прокси-сервера. Проверьте ожидаемую конечную точку, прежде чем выбирать эту учетную запись.

То же событие может также означать проверку подлинности веб-сайта. Безусловный обработчик, который подставляет корпоративный пароль прокси при каждом событии, может отправить его на сайт, запрашивающий собственный вход.

Выберите конечную точку прокси отдельно через конфигурацию прокси среды. Событие отвечает на запрос; оно не выбирает сетевой маршрут. Если приложение отказывается от проверки подлинности, оно может задать e.Cancel. В противном случае незаданные учетные данные позволяют открыть стандартный диалог запроса WebView2.

Похожие статьи