我知道chrome.webRequest.onBeforeRequest
允许拦截,分析和阻止请求,但它只允许访问请求标头,而不是请求主体(据我所知)。
示例用例:考虑拦截表单值。
似乎有一个API更改提案here正好提出这一点。
还有另一种方法可以实现吗?
感谢。
答案 0 :(得分:12)
此功能现已添加到API中,请参阅documentation。
要访问正文,您需要执行以下操作:
chrome.webRequest.onBeforeRequest.addListener(
function(details)
{
console.log(details.requestBody);
},
{urls: ["https://myurlhere.com/*"]},
['requestBody']
);
答案 1 :(得分:2)
虽然您可能无法拦截,但您可以使用标准的AJAX方法对其进行管道传输。而不是使href请求看到您是否可以进行异步调用并将其保存到未呈现的HTML对象。然后刮/读/解析/无论您的身体标准是什么,如果它通过,将该身体对象推回到当前窗口/页面。
将内容存储在已抑制的元素中,然后将相同的元素用于内容,可以避免重复调用。缺点是你将获得你最终不会使用的东西的全部内容。这可能是也可能不是带宽/速度性能问题。
答案 2 :(得分:0)
这就是我所做的
AddModelError()
来获取帖子请求正文ViewBag.Message
将正文解析为字符串这里是一个示例
requestBody