Webextensions API - 无法获取 POST 数据
Webextensions API - Can't get POST data
每次加载页面时,我都在尝试使用 Webextensions API 获取 POST 数据。
我添加了一个后台脚本,其中包含以下内容:
browser.webRequest.onBeforeSendHeaders.addListener(
getPostData,
{ urls: ['<all_urls>'], types: ["main_frame"] },
['blocking', 'requestHeaders']
);
function getPostData( e )
{
for( var header of e.requestHeaders )
{
console.log( header.name + ' = ' + header.value );
}
}
但不幸的是,我得到以下 headers,其中不包含 POST 数据:
有没有办法使用 WebExtensions API 获取 POST 数据?
好的,我找到了答案。我只需要使用 onBeforeRequest
, instead of onBeforeSendHeaders
:
browser.webRequest.onBeforeRequest.addListener(
getPostData,
{ urls: ['<all_urls>'], types: ["main_frame"] },
['blocking', 'requestBody']
);
然后,在getPostData
里面,我可以访问e.requestBody.formData
。
希望对以后的人有所帮助。
每次加载页面时,我都在尝试使用 Webextensions API 获取 POST 数据。
我添加了一个后台脚本,其中包含以下内容:
browser.webRequest.onBeforeSendHeaders.addListener(
getPostData,
{ urls: ['<all_urls>'], types: ["main_frame"] },
['blocking', 'requestHeaders']
);
function getPostData( e )
{
for( var header of e.requestHeaders )
{
console.log( header.name + ' = ' + header.value );
}
}
但不幸的是,我得到以下 headers,其中不包含 POST 数据:
有没有办法使用 WebExtensions API 获取 POST 数据?
好的,我找到了答案。我只需要使用 onBeforeRequest
, instead of onBeforeSendHeaders
:
browser.webRequest.onBeforeRequest.addListener(
getPostData,
{ urls: ['<all_urls>'], types: ["main_frame"] },
['blocking', 'requestBody']
);
然后,在getPostData
里面,我可以访问e.requestBody.formData
。
希望对以后的人有所帮助。