You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过WebView2获取指定API的JSON响应内容

解决WebView2仅捕获favicon请求,无法获取目标API响应的问题

看起来你的WebView2控件已经初始化正常,但WebResourceResponseReceived事件只触发了favicon的请求,没捕获到目标API的响应。我们一步步排查解决:

1. 确保WebView2确实发起了目标API请求

首先要确认WebView2控件正在发起目标API的请求——如果只是在外部浏览器访问API,WebView2自然不会捕获到。在InitWebView方法里,初始化完成后添加导航代码,让WebView直接请求目标API:

async void InitWebView()
{
    await WebView.EnsureCoreWebView2Async(null);
    WebView.CoreWebView2.WebResourceResponseReceived += CoreWebView2_WebResourceResponseReceived;
    // 添加这行,让WebView导航到目标API URL
    await WebView.CoreWebView2.NavigateAsync("http://localhost:3000/api/auth/42sad87aWasFGAS");
}

2. 打印请求URI,排查事件触发情况

修改事件处理方法,添加请求URI的打印,确认是否有目标API的请求被捕获:

async void CoreWebView2_WebResourceResponseReceived(object sender, CoreWebView2WebResourceResponseReceivedEventArgs e)
{
    try
    {
        // 打印当前捕获到的请求URI,方便排查
        System.Diagnostics.Debug.WriteLine($"捕获到请求: {e.Request.Uri}");
        
        Stream stream = await e.Response.GetContentAsync();
        TextReader tr = new StreamReader(stream);
        string re = tr.ReadToEnd();
        
        System.Diagnostics.Debug.WriteLine($"响应内容: {re}");
    }
    catch (Exception ex)
    {
        System.Diagnostics.Debug.WriteLine($"处理响应出错: {ex.Message}");
    }
}

运行后查看输出窗口,如果看到捕获到请求: http://localhost:3000/api/auth/42sad87aWasFGAS,说明事件已经触发,只是之前没注意到;如果没看到,可能是WebView2的请求没发出去,或者存在其他拦截逻辑。

3. 修正API路由的参数获取逻辑

你的Next.js API路由使用了动态路由[token],这类参数应该从request.params中获取,而不是request.query(query对应URL中的查询参数,比如?token=xxx)。修改JS代码:

// http://localhost:3000/api/auth/[token]
export default function Auth(request, response) {
    // 用params.token获取动态路由参数
    response.status(200).json({ token: request.params.token })
}

这样当访问http://localhost:3000/api/auth/42sad87aWasFGAS时,才会返回你期望的{"token":"42sad87aWasFGAS"}。

4. 额外检查:确保WebView2版本最新

旧版本的WebView2可能存在资源捕获的bug,建议更新到最新的Microsoft Edge WebView2 Runtime,确保控件行为正常。

按照以上步骤操作后,应该就能在CoreWebView2_WebResourceResponseReceived方法中获取到目标API的响应内容了。

内容的提问来源于stack exchange,提问作者Nelson Henrique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 10:40:39