JxBrowser之三:常用函數setNetworkDelegate


1、常用函數setNetworkDelegate,包含對網絡傳輸數據狀態的多種監控回調。

 

2.着重說一下其中的幾個函數

 

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

 

 

 

以上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM