我正在使用CDP4J,但我希望此问题与Google Chrome DevTools协议直接相关。
我想获取针对网页和响应代码的HTTP请求列表。因此,这将包括主框架和后续请求中的初始请求,通过3xx重定向或JavaScript源导航。
目前尚不清楚如何可靠地做到这一点。
我尝试了以下内容:
io.webfolder.cdp.session.Session.getFrameId
addEventListener
的会话添加回调,记录io.webfolder.cdp.event.Event.NetworkResponseReceived
io.webfolder.cdp.type.page.ResourceType.Document
我有一个我知道的URL返回HTTP 303.但是查看事件,看不到原始URL,而只看到重定向的最终目的地。每个NetworkResponseReceived都具有200的状态。
如何捕获重定向链?
答案 0 :(得分:1)
I found the answer. The io.webfolder.cdp.event.network.RequestWillBeSent
event has getRedirectResponse
, which contains a response if it's a redirect.
答案 1 :(得分:0)
为此,我一直在使用ResponseReceived事件。这似乎可以从事件中获取文档URL:
if (session.getTargetId().equals(responseReceived.getFrameId()) && ResourceType.Document.equals(responseReceived.getType())) {
String url = responseReceived.getResponse().getUrl();
...
}