0

jxbrowser 4.4:</p>

browser.getHTML() 方法只获取所有请求加载的 html。我希望每个请求都返回响应内容。

NetworkDelegate onCompleted 方法只获取每个 url,如何获取每个响应内容?任何人都可以举例说明如何获得每个响应。谢谢。

browser.getContext().setNetworkDelegate(new NetworkDelegate() {
    @Override
    public void onSendHeaders(SendHeadersParams arg0) {
    }
    @Override
    public void onResponseStarted(ResponseStartedParams arg0) {
    }
    @Override
    public void onHeadersReceived(HeadersReceivedParams arg0) {
    }

    @Override
    public void onCompleted(RequestCompletedParams arg0) {
        System.out.println("onCompleted-----> " + arg0.getURL());
        // this place only get url, how to get each response content?
        // this place only get url, how to get each response content?
    }
    @Override
    public void onBeforeURLRequest(BeforeURLRequestParams arg0) {
    }
    @Override
    public void onBeforeSendHeaders(BeforeSendHeadersParams arg0) {
    }
    @Override
    public void onBeforeRedirect(BeforeRedirectParams arg0) {
    }
    @Override
    public boolean onAuthRequired(AuthRequiredParams arg0) {
        return false;
    }
});
4

1 回答 1

0

SendHeadersParams、ResponseStartedParams、RequestCompletedParams 等提供对相应事件数据的访问。现在 JxBrowser 只提供诸如 URL、网络错误标志、HTTP 请求/响应标头之类的数据。它不提供对实际响应内容的访问。实际上,这就是 Chromium API 提供的。Chromium 不通过网络委托 API 提供实际的响应内容。根据 Chromium 的缓存算法,可以从缓存或 Web 服务器获取响应内容。不幸的是,现在 JxBrowser 没有与获取响应内容的 Chromium 功能集成。

于 2016-04-11T12:54:07.927 回答