首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Webbrowser中捕获AJAX请求

如何在Webbrowser中捕获AJAX请求
EN

Stack Overflow用户
提问于 2013-09-06 23:36:42
回答 2查看 2.8K关注 0票数 3

如何捕捉页面使用Webbrowser / EmbeddedWB发出的所有AJAX请求?不幸的是,BeforeNavigate2并不是针对AJAX请求触发的。

例如:在输入google搜索栏时发出的请求。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-07 11:20:46

如果环境在你的控制之下。您可以使用自定义HTTP代理(例如,基于Indy )。

请参阅:Indy的TIdHTTPProxyServer:如何过滤请求?

可以根据Ajax请求的特定标题检测到它们:

如何区分Ajax请求和普通Http请求?

更新: Microsoft web论坛上的这个问题有一个公认的答案:

  • WebBrowser控件中的AJAX检测
票数 1
EN

Stack Overflow用户

发布于 2013-09-06 23:55:26

如果我是你,我会把我自己的脚本注入每一页后,它已加载。这个脚本捕获所有AJAX请求并通知应用程序。

使用下面的代码,您可以捕获jQuery提出的每个AJAX请求(还没有尝试过,但我认为它不适用于非jQuery请求)。

代码语言:javascript
复制
$.ajaxSetup({
    beforeSend: function() {
        // before sending the request
    },
    complete: function() {
        // after request completion
    }
});

这甚至不是一个代码,但它可以给你一个线索,你想做什么。

当然,使用这种方法,您将需要以某种方式与您的应用程序通信。例如,我使用我的合成协议和一个新的窗口命令,这样我的Delphi组件就能够捕获和解析事件。

就像我说的,这里有很多选择,我只是给出一个线索。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18668098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档