ਨੈਵੀਗੇਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ WebView2 ਪ੍ਰੌਕਸੀ ਚੁਣੌਤੀ ਦਾ ਜਵਾਬ ਦਿਓ
ਇਹ ਜਾਂਚਣ ਤੋਂ ਬਾਅਦ ਕਿ ਕਿਹੜੇ ਐਂਡਪੁਆਇੰਟ ਨੇ ਉਨ੍ਹਾਂ ਦੀ ਬੇਨਤੀ ਕੀਤੀ, WebView2 ਦੇ BasicAuthenticationRequested ਈਵੈਂਟ ਰਾਹੀਂ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਦਿਓ।
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 ਦਾ ਡਿਫੌਲਟ ਚੁਣੌਤੀ ਸੰਵਾਦ ਮਨਜ਼ੂਰ ਹੁੰਦਾ ਹੈ।