WebView2 応用テクニック
リクエスト時にヘッダーの追加とPOSTデータを指定する
WebView2でリクエストする際に、ヘッダーを追加したり、POSTデータを送信することができます。
CreateWebResourceRequestメソッドにてリクエストの情報を作成し、NavigateWithWebResourceRequestメソッドでリクエストします。
CreateWebResourceRequestメソッドでは、リクエスト先のURL、メソッドの種類(POST/GET)、POSTデータ、ヘッダ情報を設定できます。
//C# var request = webView2.CoreWebView2.Environment.CreateWebResourceRequest( uri: "https://web.biz-prog.net/test/testpage_info.html", Method: "POST", postData: new System.IO.MemoryStream(Encoding.UTF8.GetBytes("{\"test1\" : \"data1\", \"test2\" : \"data2\"}")), Headers: $"Content-Type: text/json");
サンプル
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click Dim request = webView2.CoreWebView2.Environment.CreateWebResourceRequest( uri:="https://web.biz-prog.net/test/testpage_info.html", Method:="POST", postData:=New System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes("{""test1"" : ""data1"", ""test2"" : ""data2""}")), Headers:="User-Agent: Mozilla/5.0") webView2.CoreWebView2.NavigateWithWebResourceRequest(request) End Sub
private void button1_Click(object sender, EventArgs e) { var request = webView2.CoreWebView2.Environment.CreateWebResourceRequest( uri: "https://web.biz-prog.net/test/testpage_info.html", Method: "POST", postData: new System.IO.MemoryStream(Encoding.UTF8.GetBytes("{\"test1\" : \"data1\", \"test2\" : \"data2\"}")), Headers: $"User-Agent: Mozilla/5.0"); webView2.CoreWebView2.NavigateWithWebResourceRequest(request); }