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);
						}
					

参考