透過WebView2獲取HTTP-only cookie

wgscd發表於2024-03-31

透過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。

相關文章