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 です。そのアカウントを選ぶ前に、想定されるエンドポイントを確認してください。

同じイベントは Web サイトの認証を表すこともあります。すべてのイベントに社内プロキシのパスワードを無条件で入力するハンドラーは、独自のログインを求める Web サイトにも送ってしまう可能性があります。

プロキシのエンドポイントは環境のプロキシ構成で別途選択します。イベントは認証要求に応答するもので、ネットワーク経路を選ぶものではありません。アプリケーションが認証を拒否する場合は e.Cancel を設定できます。そうでなければ、資格情報を未設定のままにすると WebView2 の既定の認証ダイアログが許可されます。

関連記事