JxBrowser之三:经常使用函数setNetworkDelegate

一、经常使用函数setNetworkDelegate,包含对网络传输数据状态的多种监控回调。html

 

2.着重说一下其中的几个函数json

 

        BrowserContext browserContext = BrowserContext.defaultContext(); NetworkService networkService = browserContext.getNetworkService(); networkService.setNetworkDelegate(new DefaultNetworkDelegate() { //响应开始,通常来讲,能够在这里初始化某些数据
 @Override public void onResponseStarted(ResponseStartedParams params) { String url = params.getURL(); //针对某些特定url进行处理
                if(url.equals("www.baidu.com")) { receiveData = ""; } } //响应开始后,开始接收数据,因为数据块可能过大,可能会屡次调用,也就是说可能一次Started,屡次Received,须要咱们进行拼接数据包,和socket拼包同理
 @Override public void onDataReceived(DataReceivedParams params) { String url = params.getURL(); //针对某些特定url进行处理 //能够在这里对某些感兴起的数据进行收集
                if(url.equals("www.baidu.com")) { if (params.getMimeType().equals("application/json") || params.getMimeType().equals("text/html")) { receiveData += new String(params.getData(), Charset.forName("UTF-8")); //累加数据
 } } } //这个函数不是说Response完成,而是Request完成(没有Response完成对应的回调函数!具体啥时候Response结束,这个须要根据页面状况进行判断!)
 @Override public void onCompleted(RequestCompletedParams params) { } });

 

 

 

以上。网络

相关文章
相关标签/搜索