开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 462|回复: 7
收起左侧

[精币悬赏] MFC使用 Microsoft Edge Web View2 浏览器 怎么获取cookie

[复制链接]
结帖率:27% (3/11)
发表于 2025-12-15 00:17:58 | 显示全部楼层 |阅读模式   山西省吕梁市
30精币
MFC使用 Microsoft Edge Web View2 浏览器   怎么获取cookie

结帖率:100% (6/6)

签到天数: 7 天

发表于 2025-12-15 01:13:06 | 显示全部楼层   安徽省蚌埠市
ICoreWebView2CookieManager:管理 Cookie 的核心接口,通过ICoreWebView2::get_CookieManager获取。 ICoreWebView2Cookie:表示单个 Cookie 对象,可获取Name/Value/Domain/Path等属性。 异步回调:WebView2 多数接口为异步,需通过Callback宏实现回调函数

点评

还是不会写。大佬可以给个列子吗   山西省吕梁市  发表于 2025-12-15 02:32
回复

使用道具 举报

结帖率:98% (461/469)

签到天数: 6 天

发表于 2025-12-15 11:11:30 | 显示全部楼层   浙江省杭州市
回复

使用道具 举报

结帖率:27% (3/11)
 楼主| 发表于 2025-12-15 11:52:05 | 显示全部楼层   山西省吕梁市
sphinxes 发表于 2025-12-15 11:11
https://bbs.ijingyi.com/thread-14851346-1-2.html这个看一下

这个链接里的源码是骗人的   功能都没写  只有个界面
360截图20251215115055.png
回复

使用道具 举报

结帖率:100% (6/6)

签到天数: 7 天

发表于 2025-12-15 12:43:24 | 显示全部楼层   安徽省蚌埠市
教你一个简单的,看到 右上角github copilit 没有点击它  然后打开窗口  让它直接修改你当前页面代码

补充内容 (2025-12-15 12:44):
直接描述 你需要的问题 然后让它直接修改你的当前页面
回复

使用道具 举报

结帖率:98% (461/469)

签到天数: 6 天

发表于 2025-12-15 17:43:14 | 显示全部楼层   浙江省杭州市
  
using Microsoft.Web.WebView2.Core;
using Microsoft.Web.WebView2.WinForms;
using Microsoft.Web.WebView2.Wpf;
using System;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Text.Json;
namespace WindowsFormsApp2sss
{
public partial class WebView2 : Form
{
public WebView2 ()
{
InitializeComponent ();
this.Resize += new System.EventHandler (this.Form_Resize);
this.Load += Form1_Load; // 新增加载事件订阅
}
private async void Form1_Load (object sender, EventArgs e)
{
await InitializeWebView (); // 初始化WebView2并订阅事件
}
private async Task InitializeWebView ()
{
// 确保WebView2环境初始化完成
await webView21.EnsureCoreWebView2Async ();
// 订阅新窗口请求事件(关键修复点)
webView21.CoreWebView2.NewWindowRequested += CoreWebView2_NewWindowRequested;
webView21.CoreWebView2.WebResourceResponseReceived += CoreWebView2_WebResourceResponseReceived;
webView21.CoreWebView2.AddWebResourceRequestedFilter ("*", CoreWebView2WebResourceContext.All);
webView21.CoreWebView2.WebResourceRequested += CoreWebView2_WebResourceRequested;
}
private void CoreWebView2_WebResourceRequested (object sender, CoreWebView2WebResourceRequestedEventArgs e)
{
var request = e.Request;
Console.WriteLine ($"Request intercepted: {request.Uri}");
}
private void CoreWebView2_NewWindowRequested (object sender, CoreWebView2NewWindowRequestedEventArgs e)
{
// 修复核心逻辑:必须设置 e.NewWindow 并保持 e.Handled = true
e.Handled = true;
e.NewWindow = (CoreWebView2)sender; // 将新窗口请求重定向到当前WebView2实例
// 更新地址栏并导航(可选)
addressBar.Text = e.Uri;
webView21.CoreWebView2.Navigate (e.Uri);
}
private static void CoreWebView2_WebResourceResponseReceived (object sender, CoreWebView2WebResourceResponseReceivedEventArgs e)
{
var uri = e.Request.Uri;
Console.WriteLine ($"Response received for: {uri}");
e.Response.Headers.ToList ().ForEach (header =>
{
Console.WriteLine ($"Header: {header.Key} - {header.Value}");
});
}
private void button1_Click (object sender, EventArgs e)
{
if (!string.IsNullOrEmpty (addressBar.Text))
{
webView21.CoreWebView2.Navigate (addressBar.Text);
}
}
private void Form_Resize (object sender, EventArgs e)
{
webView21.Size = new System.Drawing.Size (
this.ClientSize.Width - 20,
this.ClientSize.Height - 60);
button1.Left = this.ClientSize.Width - button1.Width - 10;
addressBar.Width = button1.Left - addressBar.Left - 10;
}
private void webView21_Click (object sender, EventArgs e)
{
}
private async void button2_Click (object sender, EventArgs e)
{
var memoryStream = new MemoryStream ();
await webView21.CoreWebView2.CapturePreviewAsync (CoreWebView2CapturePreviewImageFormat.Png, memoryStream);
var bytes = memoryStream.ToArray ();
var saveFileDialog = new SaveFileDialog
{
Title = "保存截图",
FileName = "网页截图.png",
Filter = "PNG图片 (*.png)|*.png"
};
if (saveFileDialog.ShowDialog () == DialogResult.OK)
{
File.WriteAllBytes (saveFileDialog.FileName, bytes);
}
}
private async void button3_Click (object sender, EventArgs e)
{
var cookies = await webView21.CoreWebView2.CookieManager.GetCookiesAsync ("https://www.baidu.com");
// var cookies =  await  webView21.CoreWebView2.CookieManager.GetCookiesAsync ("https://www.baidu.com");
string result = "Cookie列表:\n";
foreach (var cookie in cookies)
{
result += $"{cookie.Name}: {cookie.Value}\n";
}
MessageBox.Show (result, "Cookie信息");

}
}
}

回复

使用道具 举报

结帖率:98% (461/469)

签到天数: 6 天

发表于 2025-12-15 17:45:52 | 显示全部楼层   浙江省杭州市
我是我写的  大部分问AI的
最后的按钮3是取到cookie 弹出信息框  
上面还有截图 还有 拦截新窗口请求  还有过滤器 的一些功能

补充内容 (2025-12-15 17:46):
不知道怎么打包, 就复制黏贴吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表