透過WebView2獲取HTTP-only cookie可以使用`WebView2.CookieManager`類的方法。以下是一個示例程式碼,演示如何獲取HTTP-only cookie:
using System; using Microsoft.Web.WebView2.Core; using Microsoft.Web.WebView2.WinForms; namespace WebView2Example { class Program { static async Task Main(string[] args) { WebView2 webView = new WebView2(); await webView.EnsureCoreWebView2Async(); // 獲取CookieManager例項 var cookieManager = webView.CoreWebView2.CookieManager; // 獲取所有cookies var cookiesCollection = await cookieManager.GetCookiesAsync("https://example.com"); foreach (var cookie in cookiesCollection) { // 過濾出HTTP-only cookie if (cookie.IsHttpOnly) { Console.WriteLine($"Name: {cookie.Name}, Value: {cookie.Value}"); } } } } }
請確保已在專案中新增對`WebView2`和`WebView2.WinForms`的引用,並根據需要修改示例程式碼中的URL和其他邏輯。
需要注意的是,由於HTTP-only cookie的安全性要求限制JavaScript訪問,因此無法直接在WebView2控制元件內執行JavaScript來訪問HTTP-only cookie。所以,只能透過`CookieManager`類的方法來獲取和管理這些cookie。