1

我正在使用CDP4J,尽管我希望这个问题与 Google Chrome DevTools Protocol 直接相关。

我想获取对网页和响应代码发出的 HTTP 请求的列表。因此,这将包括主框架中的初始请求和后续请求,通过 3xx 重定向或 JavaScript 起源的导航进行。

目前尚不清楚如何可靠地做到这一点。

我尝试了以下方法:

  1. 店铺io.webfolder.cdp.session.Session.getFrameId
  2. 向会话添加回调addEventListener,记录每个类型的事件io.webfolder.cdp.event.Event.NetworkResponseReceived
  3. 其中,过滤那些帧 ID 匹配的。
  4. 这些过滤器类型io.webfolder.cdp.type.page.ResourceType.Document

我有一个我知道返回 HTTP 303 的 URL。但是查看事件,看不到原始 URL,而是只看到重定向的最终目的地。每个 NetworkResponseReceived 的状态都是 200。

如何捕获重定向链?

4

2 回答 2

1

我找到了答案。事件io.webfolder.cdp.event.network.RequestWillBeSentgetRedirectResponse,如果它是重定向,则包含响应。

于 2017-08-04T12:33:32.077 回答
0

为此,我一直在使用 ResponseReceived 事件。这似乎可以从事件中获取文档 URL:

    if (session.getTargetId().equals(responseReceived.getFrameId()) && ResourceType.Document.equals(responseReceived.getType())) {
        String url = responseReceived.getResponse().getUrl();
        ...
    }
于 2019-05-31T20:10:33.733 回答