使用Crossrider扩展检查HTTP响应

时间:2014-05-01 17:22:36

标签: httpresponse crossrider

根据Crossrider文档,目前有一个带有onRequest事件的webRequest对象,它允许访问请求URI等,但我找不到任何方法来检查响应数据。我想知道是否有办法实际检查该请求的响应,例如响应头和可能的响应数据。谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

我出去了,但我认为你是在AJAX请求之后,在这种情况下你是在appAPI.request API之后,你确实可以获得响应和标题数据。 appAPI.webRequest API类似于Chrome's webRequest API用于观察和分析流量以及拦截,阻止或修改飞行中的请求"。

如果情况并非如此,请您澄清您的情况。

[对评论的回应]

首先让我澄清webRequest API在发出请求之前运行(即浏览器正在请求页面但尚未发出实际的HTTP请求),因此它与谈论响应数据无关。

但是,由于URL是在webRequest的详细信息中提供的,因此您可以使用上述appAPI.request API自行获取响应数据和标题,如下所示:

appAPI.ready(function() {
    appAPI.webRequest.monitor.onBeforeNavigate.addListener({
        callback: function(details) {
            appAPI.request.get({
                url: details.requestUrl,
                onSuccess: function(response, additionalInfo) {
                    appAPI.db.async.set(details.requestUrl, {
                        response: response,
                        headers: additionalInfo.headers
                    });
                }
            });
        }
    });
});

注意:对于此示例,我使用了专为监控而设计的新的 webRequest.monitor API。它目前尚未记录(文档应在下周左右完成),但您可以开始在Chrome,Firefox和Internet Explorer中使用它。

[披露:我是Crossrider员工]