WebView2 応用テクニック
リクエスト時にBasic認証を行う
WebView2でリクエストする際にBasic認証を行う方法です。
Basic認証の設定されているページにアクセスしたときにCoreWebView2.BasicAuthenticationRequestedイベントが発生するので、
ここでID/パスワードを設定します。
//C#
webView2.CoreWebView2.BasicAuthenticationRequested += delegate (
object sender,
CoreWebView2BasicAuthenticationRequestedEventArgs args)
{
args.Response.UserName = "test";
args.Response.Password = "password";
};
サンプル
Basic認証用のテストページにアクセスするサンプルです。
ブラウザで普通にアクセスするとBasic認証のダイアログが表示されますが、
以下のコードではダイアログは表示されずに認証後のページが表示されます。
Imports Microsoft.Web.WebView2.Core
Public Class Basic
Private Async Sub Basic_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Await InitializeAsync()
End Sub
Private Async Function InitializeAsync() As Task
Await wv2.EnsureCoreWebView2Async(Nothing)
'Basic認証のID/パスワードを指定
AddHandler wv2.CoreWebView2.BasicAuthenticationRequested,
Sub(sender As Object, args As CoreWebView2BasicAuthenticationRequestedEventArgs)
args.Response.UserName = "test"
args.Response.Password = "password"
End Sub
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'サイトを表示
wv2.CoreWebView2.Navigate("https://web.biz-prog.net/test/basic/testpage_basic.html")
End Sub
End Class
using System;
using System.Windows.Forms;
using Microsoft.Web.WebView2.Core;
namespace WindowsFormsCS
{
public partial class Basic : Form
{
public Basic()
{
InitializeComponent();
}
private void Basic_Load(object sender, EventArgs e)
{
InitializeAsync();
}
async void InitializeAsync()
{
await webView2.EnsureCoreWebView2Async(null);
//Basic認証のID/パスワードを指定
webView2.CoreWebView2.BasicAuthenticationRequested += delegate (
object sender,
CoreWebView2BasicAuthenticationRequestedEventArgs args)
{
args.Response.UserName = "test";
args.Response.Password = "password";
};
}
private void button1_Click(object sender, EventArgs e)
{
if (webView2.CoreWebView2 == null) return;
//サイトを表示
webView2.CoreWebView2.Navigate("https://web.biz-prog.net/test/basic/testpage_basic.html");
}
}
}
