如何使用 Chrome Devtool 协议获取请求标头

How to get the Request Headers using the Chrome Devtool Protocol

提问人:Badr Elmers 提问时间:4/25/2019 更新时间:4/25/2019 访问量:2402

问:

新的 chrome 版本 72+ 不发送 requestHeaders

有一个解决方案

DevTools 协议网络检查位于网络堆栈中相当高的位置。此体系结构不允许我们收集添加到请求的所有标头。因此,我们在 Network.requestWillBeSent 和 Network.requestIntercepted 中报告的那些并不完整;在可预见的未来,这种情况将保持下去。 有几种方法可以获取真正的请求标头:

• 粗略的就是使用代理

• 更优雅的是依赖 Network.responseReceived DevTools 协议事件。实际标头在 Network.Response 中报告为 requestHeaders 字段。

这在旧的镀铬上工作得很好,但在上一个版本上却不能。这是我为版本制作的一个小夏天,一个可以测试的版本enter image description here

Chrome v67 的解决方案是添加以下标志以禁用站点隔离

chrome --disable-site-isolation-trials --disable-features=IsolateOrigins,site-per-process --disable-web-security

现在所有这些都不适用于最后的 chrome v73 也许是这样造成的:

问题 932674:v72 破坏了跨域 iframe 中的 devtools 请求拦截

您可以使用自 m74 以来可用的 Fetch 协议域

解决方案 gaven 也不起作用,Fetch.requestPaused 不包含请求标头......

我发现了一些可能导致以下情况的信息:

DevTools:不公开跨域请求的原始标头

DevTools:不报告受保护子资源的原始标头和 Cookie。如果子资源请求的站点需要保护其文档,请不要将原始标头和 cookie 发送到框架的渲染器中。

还是当它是 HTTP/2 服务器时引起的?

HTTP/2 标头帧是否影响响应的 encodedDataLength?(远程调试协议)

...未定义 HTTP/2 请求链接headersText

1-如何使用 Chrome Devtool 协议和 chrome v73+ 获取请求标头?

阿拉伯数字-网络扩展能解决这个问题吗?

3-有没有另一种方法可以稳定和持久的孤独者?就像我试图避免的 tshark+sslkeylogfile。谢谢

谷歌浏览器 google-chrome-devtools

评论

2赞 wOxxOm 4/25/2019
扩展程序可以选择使用带有“extraHeaders”参数的 chrome.webRequest.onHeadersReceived 事件。

答: 暂无答案