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) { } });

 

 

 

以上。網絡

相關文章
相關標籤/搜索