我正在构建Chrome扩展程序并尝试记录一些请求:具有POST参数的那些(纯文本数据)
这是我正在使用的代码:
var requestFilter = {urls: ["<all_urls>"]};
var extraInfoSpec = ['requestHeaders','requestBody','blocking']; // note: without 'requestBody' it works perfectly, but there's no POST data available.
var handler = function( details ) {
console.log(details);
};
chrome.webRequest.onBeforeSendHeaders.addListener(handler, requestFilter, extraInfoSpec);
我将requestHeaders
和blocking
用于示例中不包含的其他内容(现在不用担心)
我在页面加载时收到此错误:Uncaught Error: Invalid value for argument 2. Property '.1': Value must be one of: [requestHeaders, blocking].
我正在开发Chrome 版本36.0.1985.125 m
表单chrome webRequest文档:Stable since Chrome 23. Contains the HTTP request body data. Only provided if extraInfoSpec contains 'requestBody'.
有此错误的经验吗?任何已知的方案?我该如何解决这个问题?
答案 0 :(得分:1)
你正在听错事件。
如果您查看documentation,onBeforeSendHeaders
未在回调详细信息中列出requestBody
。
但是,它可以在onBeforeRequest
中找到。
因此,如果您需要标题和正文,则必须按requestId
关联这两个事件。