1. 程式人生 > >JxBrowser之三:常用函式setNetworkDelegate

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

 

 

 

以上。