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의 기본 챌린지 대화 상자를 허용합니다.

관련 글