如何使用 CoreWebView2CookieManager 在 WebView2 控件上设置 cookie

How do I set the cookie on the WebView2 control using the CoreWebView2CookieManager

提前致谢。

我正在尝试使用 CoreWebView2CookieManager(来自 WebView2 最新 SDK 1.0.705.50 的 CookieManagement API)在基于 WPF 的 WebView2 浏览器控件上设置 cookie,但浏览器上未设置 cookie。

这是我在 WPF 应用程序中的一段代码:

private void ButtonNavigateToLocal(object sender, RoutedEventArgs e)
{
   string uri = @"http://www.dnndev.me/";
   var cookie = _webView.CoreWebView2.CookieManager.CreateCookie("TestCookie", "XJKDKD", ".me", null);
   cookie.IsHttpOnly = true;
   cookie.IsSecure = true;                
  _webView.CoreWebView2.CookieManager.AddOrUpdateCookie(cookie);           
  _webView.CoreWebView2.Navigate(uri);

}

只是想知道我是否遗漏了什么?我还需要使用 WebResourceRequested 事件来设置 cookie 吗?任何线索或示例将不胜感激。

问题是您将 cookie 域设置为顶级域 .me。这是不合法的,出于安全原因,浏览器不会发送它。

想象一下,如果您将其设置为 .com,那么它会将 cookie 发送到半个世界。所以这是被禁止的。

而是将其设置为 .dnndev.me - 然后它将发送到您的域。

您还设置了:cookie.IsSecure = true; - 那么它只会被发送到 https 个请求。将其设置为 false 以包含 http 个请求。

同时将 path 设置为 / - 然后它将发送到您服务器上的所有路径。