注册 登录
编程论坛 VFP论坛

webview2使用的问题真多,需求也很旺盛,吹版建个群有偿咨询吧。。。哈哈哈哈。。。

ykxby001 发布于 2025-01-10 14:58, 1023 次点击
webview2使用的问题真多,需求也很旺盛,吹版建个群收费吧。哈哈哈哈。。。
17 回复
#2
nbwww2025-01-10 16:52
你是用来自动化?还是浏览?
#3
iswith2025-01-11 13:04
https://
使用WebView2,可参照一下上述对web form表单的填表。。。。。
#4
ykxby0012025-01-12 08:47
看不懂
#5
ykxby0012025-01-12 08:48
回复 2楼 nbwww
#6
SATANA2025-01-12 14:41
我也是玩
#7
吹水佬2025-09-05 10:31
我也是很想玩,可惜无时间。
带孙已经快三年了,这段时间无接触WebView2了,现在小孩上半托幼儿园才有点空上来混混。
WebView2的内容太多,更新也快。要玩转WebView2还是自己动手较实际,我之前几个相关贴也提到学习参考内容,从头起慢慢理解测试WebView2  API 的各个接口,功多自然熟。

#8
ls_y0412025-09-07 17:12
为什么WebView2不能获取网页中的cookies完整的内容,这个有没有好办法来获取全的COOKIE内容

#9
ls_y0412025-09-11 17:03
在应用中如何实现对JWT, 等信息的查询,这个不知道要如何处理,有空能不能把这个加上一下,谢谢
#10
吹水佬2025-09-11 20:10
以下是引用ls_y041在2025-9-11 17:03:34的发言:

在应用中如何实现对JWT, 等信息的查询,这个不知道要如何处理,有空能不能把这个加上一下,谢谢

未接触过JWT方面。
webview2也只是闹着玩简单看看网页的。
#11
ls_y0412025-09-12 08:14
📌 获取请求头的主要步骤
获取Authorization请求头,主要通过处理WebResourceRequested事件实现。以下是基本步骤:

订阅事件:在初始化WebView2之后,订阅CoreWebView2.WebResourceRequested事件。

检查请求:在事件处理程序中,检查每个通过的请求。

获取Authorization头:从请求对象中读取头部信息。

这里有一个C#的代码示例:

csharp
private void InitializeWebView2()
{
    await webView.EnsureCoreWebView2Async(null); // 初始化CoreWebView2

    webView.CoreWebView2.WebResourceRequested += CoreWebView2_WebResourceRequested;
}

private void CoreWebView2_WebResourceRequested(object sender, CoreWebView2WebResourceRequestedEventArgs e)
{
    // 获取所有的请求头
    var headers = e.Request.Headers;

    // 尝试获取Authorization头
    if (headers.Contains("Authorization"))
    {
        string authHeader = headers.GetHeader("Authorization");
        System.Diagnostics.Debug.WriteLine($"Authorization header found: {authHeader}");
        // 接下来你可以对authHeader进行处理,例如解析、验证或存储
    }
}
⚠️ 重要注意事项
事件过滤:WebResourceRequested事件会拦截所有网络请求(主文档、iframe、脚本、图片、AJAX等)。如果你只关心特定请求(例如某些API接口),最好根据请求的URL进行过滤,以避免不必要的处理和提高性能。

csharp
private void CoreWebView2_WebResourceRequested(object sender, CoreWebView2WebResourceRequestedEventArgs e)
{
    if (e.Request.Uri.StartsWith("https://api.))
    {
        // 只处理特定域名下的请求
        string authHeader = e.Request.Headers.GetHeader("Authorization");
        // ... 你的处理逻辑
    }
}
修改请求头:虽然你最初问的是获取,但顺带一提:在这个事件中,你可以修改请求头(例如添加或更新Authorization头)。但如果你只是想获取,只需读取即可,不要进行修改。

响应头获取:WebResourceRequested事件主要用于处理请求(Request)。如果你需要获取服务器返回的响应头(Response Headers),则需要订阅WebResourceResponseReceived事件。

csharp
webView.CoreWebView2.WebResourceResponseReceived += CoreWebView2_WebResourceResponseReceived;

private void CoreWebView2_WebResourceResponseReceived(object sender, CoreWebView2WebResourceResponseReceivedEventArgs e)
{
    // 可以在这里通过e.Response获取响应头信息
}
导航请求的特殊性:需要注意的是,对于导航(主页面)请求,其请求头在NavigationStarting事件中无法被修改,但WebResourceRequested事件仍然可以拦截并获取到它们。

🔧 其他相关考虑
调试:在处理授权信息时,调试至关重要。你可以使用类似Fiddler或Charles这样的抓包工具来独立验证WebView2发送和接收的网络流量,这有助于判断是代码问题还是服务器问题。

安全警告:Authorization头通常包含敏感的认证信息(如Bearer Token)。你的代码在处理这些信息时,务必注意安全,避免将其记录到明文日志或泄露给第三方。

API更新:WebView2控件仍在积极开发中。微软可能会在未来 release 的版本中添加新的API或改变现有行为,因此最好查阅官方文档以获取最新和最准确的信息。

希望这些信息能帮助你在WebView2中成功获取Authorization请求头。
这个是dp的代码 我不会,希望有会的人可以帮助转一下VFP的,谢谢
#12
吹水佬2025-09-12 15:04
回复 11楼 ls_y041
我给的示例代码就有WebResourceRequested事件的创建、移除和使用方法,也有简单说到修改请求头的东西。
如果不会用C就无计,我也没实际开发应用过,随便试试玩还可以抽点时间,来真的就没空且花不来,我年薪百万起计,点算?(讲笑哈)。
说实际宁愿花钱花时间去等待,等不等得到?等不等得好?。还不如自己动脑动手,那才是一劳永逸。


#13
easyppt2025-09-13 08:20
吹版 出手 组群吧,一起玩玩webview2,现在B/S交互太平凡了,VFP没有一个像样的webview2 真不行了。
对此,入群我愿意出800,上限2000,由吹版定 ,聊表心意,不为别的,就为了吹版的乐于助人的精神!
#14
吹水佬2025-09-13 10:02
以下是引用easyppt在2025-9-13 08:20:13的发言:

吹版 出手 组群吧,一起玩玩webview2,现在B/S交互太平凡了,VFP没有一个像样的webview2 真不行了。
对此,入群我愿意出800,上限2000,由吹版定 ,聊表心意,不为别的,就为了吹版的乐于助人的精神!

编程只是个人爱好,代码从未生过钱。钱银的东西,讲笑可以,讲真就失感情。
webview2我也是参考MS的示例学了一点点认识一下,没有时间和精力去深入探讨了。
编程不是我的取业,这年头还是专心做好本职工作,多搞点钱才是,否则连上来这吹水也没机会。
#15
ykxby0012025-09-14 14:43
回复 13楼 easyppt
我出3000
#16
SATANA2025-09-14 23:01
回复 13楼 easyppt
我也出800  

[此贴子已经被作者于2025-9-16 04:38编辑过]

#17
得鹿为鱼2025-09-23 09:44
回复 7楼 吹水佬
带孙子?妈啊 我们年龄差这么多吗?  
#18
吹水佬2025-09-23 14:37
以下是引用得鹿为鱼在2025-9-23 09:44:36的发言:

 带孙子?妈啊 我们年龄差这么多吗?  

有可能你会比我多活一个辈份,你活到我做爷爷的岁数时你做太上爷了。
以前在深圳见不少四川的40几就抱孙,现在广西也有很多40几50的抱几个孙了。
1