Java 类android.webkit.WebResourceRequest 实例源码

项目:browser    文件:LightningView.java   
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {

    /*
    ByteArrayInputStream EMPTY = new ByteArrayInputStream("".getBytes());
    if (mAdBlock.isAd(request.getUrl().getHost())) {

        return new WebResourceResponse("text/plain", "utf-8", EMPTY);
    }

    if(request.getUrl().getHost().indexOf("127.0.0.1")>=0){
        //ToastUtil.showMessage("this site is insecure");

        return new WebResourceResponse("text/plain", "utf-8", EMPTY);
    }
    */

    return super.shouldInterceptRequest(view, request);
}
项目:ZhaZhaShop    文件:WebViewActivity.java   
private void setupWebView() {
    WebSettings settings = mWvWebview.getSettings();

    settings.setJavaScriptEnabled(true);
    settings.setSupportZoom(false);
    settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
    settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
    settings.setDomStorageEnabled(true);

    WebViewClient webViewClient = new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            view.loadUrl(String.valueOf(request.getUrl()));
            return true;
        }
    };

    mWvWebview.setWebViewClient(webViewClient);
}
项目:WebPager    文件:PagerWebViewClient.java   
@TargetApi(24)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    Log.d(TAG, "shouldOverrideUrlLoading() called with: request = [" + request.getUrl() + "]");
    if (pager.webviewClient != null) {
        if (pager.webviewClient.shouldOverrideUrlLoading(view, request)) {
            return true;
        }
    }

    if (handleUrlLoading(view, request.getUrl().toString())) {
        return true;
    }

    return super.shouldOverrideUrlLoading(view, request);
}
项目:CacheWebView    文件:CacheWebViewClient.java   
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {

    WebResourceResponse webResourceResponse = null;
    if (mCustomWebViewClient!=null){
        webResourceResponse =  mCustomWebViewClient.shouldInterceptRequest(view,request);
    }
    if (webResourceResponse != null){
        return webResourceResponse;
    }
    if (!mIsEnableCache){
        return null;
    }
    return mWebViewCache.getWebResourceResponse(this,request.getUrl().toString(),
            mCacheStrategy,mEncoding,mCacheInterceptor);
}
项目:KTools    文件:KWebViewClient.java   
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
        //此处对文件资源,js,css等请求资源进行拦截,替换
        Log.d(TAG, "shouldInterceptRequest: request = \n" +
                "\nurl = " + request.getUrl().toString() +
                "\nmethod = " + request.getMethod() +
                "\nheaders = " + request.getRequestHeaders().toString());
//        String url = request.getUrl().toString();
//        if ((url.startsWith("https://") || url.startsWith("http://")) && (url.endsWith(".png") || url.endsWith(".jpg"))) {
//            Log.d(TAG, "拦截资源 :" + url);
//            try {
//                WebResourceResponse response = new WebResourceResponse(MimeTypeMap.getFileExtensionFromUrl(".jpg"), "utf-8", FileUtils.getInputStreamFromAssets("img/dog.jpg"));
//                return response;
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
        return super.shouldInterceptRequest(view, request);
    }
项目:JSInterface    文件:MainActivity.java   
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    wv_test = (WebView)findViewById(R.id.wv_test) ;
    wv_test.getSettings().setJavaScriptEnabled(true);
    /* "JSInterface" ==> window.JSInterface
     * class JSInterface all @javascriptInterface methods
     * js can call JSInterface.method()*/
    wv_test.addJavascriptInterface(new JSInterface(MainActivity.this),"JSInterface");
    /* at webivew not brower*/
    wv_test.setWebViewClient(new WebViewClient(){
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            return true ;
        }
    });
    wv_test.loadUrl("file:///android_asset/JSInterface.html");
    //wv_test.loadUrl("http://127.0.0.1:8080/JSInterface.html");
}
项目:youkes_browser    文件:LightningView.java   
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {

    /*
    ByteArrayInputStream EMPTY = new ByteArrayInputStream("".getBytes());
    if (mAdBlock.isAd(request.getUrl().getHost())) {

        return new WebResourceResponse("text/plain", "utf-8", EMPTY);
    }

    if(request.getUrl().getHost().indexOf("127.0.0.1")>=0){
        //ToastUtil.showMessage("this site is insecure");

        return new WebResourceResponse("text/plain", "utf-8", EMPTY);
    }
    */

    return super.shouldInterceptRequest(view, request);
}
项目:android-base    文件:AbstractWebkitClient.java   
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        String url = request.getUrl().toString();
        if (view instanceof AbstractWebKit) {
            boolean flag = false;
            if (interceptor != null) {
                flag = interceptor.shouldOverrideUrlLoading((AbstractWebKit) view, url);
            }
            if (flag) {
                return true;
            }
        }
        String lowurl = url.toLowerCase();
        if (lowurl.startsWith("http:") || lowurl.startsWith("https:")) {
            view.loadUrl(url, headers != null ? headers.generateHeaders() : null);
            return true;
        }
    }
    return true;
}
项目:LsPush    文件:CollectionTargetActivity.java   
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onPrepareWebView(WebView webView) {
    super.onPrepareWebView(webView);
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            return false; // let the web view handle the url
        }
    });
    webView.getSettings().setJavaScriptEnabled(true);
    // https://labs.mwrinfosecurity.com/blog/webview-addjavascriptinterface-remote-code-execution/
    // FIXME: 2016/9/20 fix it later
    webView.addJavascriptInterface(new JsInterface(this), getString(R.string.web_image_click_target));
    // http://blog.csdn.net/u013107656/article/details/51729398
    webView.removeJavascriptInterface("searchBoxJavaBridge_");
    webView.removeJavascriptInterface("accessibilityTraversal");
    webView.removeJavascriptInterface("accessibility");
    webView.setOnTouchListener(this);
}
项目:mobile-messaging-sdk-android    文件:WebViewActivity.java   
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_webview);

    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    setupActionBar();

    Intent webViewIntent = getIntent();
    String url = webViewIntent.getStringExtra(EXTRA_URL);

    webView = findViewById(R.id.webview);
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            return false;
        }
    });
    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webView.loadUrl(url);
}
项目:AndroidBasicCommonDemos    文件:MainActivity.java   
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView = (WebView) findViewById(R.id.web_view);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new WebViewClient(){
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {

            return super.shouldOverrideUrlLoading(view, request);

        }
    });
    webView.loadUrl("http://www.baidu.com");
}
项目:DeeBrowser    文件:LightningView.java   
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        if (mAdBlock.isAd(request.getUrl().toString())) {
            String stweb = "\n \n \n \n BLOCKED BY AD-BLOCKER" + "\n" +
                    "\n" +
                    " \n" +
                    " \n" +
                    " \n - TO DISABLE AD-BLOCKER GO TO SETTINGS/GENEARL SETTING";
            ByteArrayInputStream EMPTY = new ByteArrayInputStream(stweb.getBytes());

            return new WebResourceResponse("text/plain", "utf-8", EMPTY);
        }
    }
    return super.shouldInterceptRequest(view, request);
}
项目:kolibri-android    文件:KolibriWebView.java   
@TargetApi(Build.VERSION_CODES.M)
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
  super.onReceivedError(view, request, error);
  Crashlytics.log(5, "KolibriWebView",
      "onReceivedError() called with: request = [" + request + "], error = [" + error + "]");

  // We ignore errors regarding assets loading,
  // so in this case we check if the request url and webview url are same
  if (request.getUrl().toString().equals(view.getUrl()) || request.isForMainFrame()) {
    for (KolibriWebViewClient webClient : webClients) {
      webClient.onReceivedError(view, request, error);
    }
  }
}
项目:CrazyDaily    文件:ZhihuNewsDetailActivity.java   
@Override
protected void initListener() {

    mFab.setOnClickListener(v -> SnackbarUtil.show(this, "喜欢就点个star吧!"));

    mWeb.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            view.loadUrl(request.getUrl().toString());
            return true;
        }
    });
}
项目:BilibiliClient    文件:BrowserActivity.java   
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {

  super.onReceivedError(view, request, error);
  String errorHtml = "<html><body><h2>找不到网页</h2></body></html>";
  view.loadDataWithBaseURL(null, errorHtml, "text/html", "UTF-8", null);
}
项目:BilibiliClient    文件:BrowserActivity.java   
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {

  super.onReceivedError(view, request, error);
  String errorHtml = "<html><body><h2>找不到网页</h2></body></html>";
  view.loadDataWithBaseURL(null, errorHtml, "text/html", "UTF-8", null);
}
项目:AgentWeb    文件:DefaultWebClient.java   
@Override
    public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {

        if (AgentWebUtils.isOverriedMethod(mWebViewClient, "onReceivedError", WEBVIEWCLIENTPATH + ".onReceivedError", WebView.class, WebResourceRequest.class, WebResourceError.class)) {
            super.onReceivedError(view, request, error);
//            return;
        }
        if (request.isForMainFrame()) {
            onMainFrameError(view,
                    error.getErrorCode(), error.getDescription().toString(),
                    request.getUrl().toString());
        }
        LogUtils.i(TAG, "onReceivedError:" + error.toString());
    }
项目:AgentWeb    文件:WrapperWebViewClient.java   
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {

//        LogUtils.i(TAG,"this:"+this+"   wrapper:"+this.mWebViewClient);
        if(mWebViewClient!=null){
            return mWebViewClient.shouldOverrideUrlLoading(view,request);
        }
        return super.shouldOverrideUrlLoading(view, request);
    }
项目:AgentWeb    文件:WrapperWebViewClient.java   
public WebResourceResponse shouldInterceptRequest(WebView view,
                                                  WebResourceRequest request) {

    if(mWebViewClient!=null){
        return mWebViewClient.shouldInterceptRequest(view,request);
    }
    return super.shouldInterceptRequest(view, request);
}
项目:AgentWeb    文件:WrapperWebViewClient.java   
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {

        if(mWebViewClient!=null){
            mWebViewClient.onReceivedError(view,request,error);
            return;
        }

        super.onReceivedError(view,request,error);
    }
项目:AgentWeb    文件:WrapperWebViewClient.java   
public void onReceivedHttpError(
        WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {

    if(mWebViewClient!=null){
        mWebViewClient.onReceivedHttpError(view,request,errorResponse);
        return;
    }
    super.onReceivedHttpError(view,request,errorResponse);

}
项目:TubiPlayer    文件:TubiVPAID.java   
/**
 * Fires in cases where the webview cannot even load (e.g. no network)
 */
@TargetApi(Build.VERSION_CODES.M)
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
    onReceivedError(view,
            error.getErrorCode(),
            error.getDescription().toString(),
            request.getUrl().toString());
}
项目:quickhybrid-android    文件:QuickWebviewClient.java   
/**
 * 加载资源
 * android5.0+支持
 *
 * @param view
 * @param request
 * @return
 */
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
    WebResourceResponse resourceResponse = null;
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
        resourceResponse = loadPage.shouldInterceptRequest(view, request.getUrl().toString());
    }
    if (resourceResponse == null) {
        return super.shouldInterceptRequest(view, request);
    } else {
        return resourceResponse;
    }
}
项目:quickhybrid-android    文件:QuickWebviewClient.java   
/**
 * 重定向或者A标签
 * 7.0+系统支持
 *
 * @param view
 * @param request
 * @return
 */
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        String url = request.getUrl().toString();
        if (request.isRedirect()) {
            loadPage.forwardUrl(view, url);
        }
    }
    return super.shouldOverrideUrlLoading(view, request);
}
项目:Hotspot-master-devp    文件:CustomWebView.java   
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
    LogUtils.d("savor:webview "+error.getDescription());
    isLoadError = true;
    if (updateProgressListener!=null){
        updateProgressListener.loadHttpError();
    }
}
项目:Hotspot-master-devp    文件:DefaultWebView.java   
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
    super.onReceivedError(view, request, error);
    isLoadError = true;
    if (updateProgressListener!=null){
        updateProgressListener.loadHttpError();
    }
}
项目:Alexa-Voice-Service    文件:LoginWebViewActivity.java   
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    if(request.getUrl().toString().startsWith("http") || request.getUrl().toString().startsWith("https")){
        return super.shouldOverrideUrlLoading(view,request);
    }

    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(request.getUrl().toString()));
    startActivityForResult(i,RESULT_LOGIN);

    return true;
}
项目:WebPager    文件:PagerWebViewClient.java   
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
    Uri url = request.getUrl();
    if ("https://www.fengshihao.com/user.js".indexOf(url.toString()) == 0) {
        final WebResourceResponse userjs = new WebResourceResponse("text/javascript", "UTF-8",
            new ByteArrayInputStream("console.log('hello user js');".getBytes()));
        return userjs;
    }
    return super.shouldInterceptRequest(view, request);
}
项目:letv    文件:LetvWebViewActivity.java   
@TargetApi(21)
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
    LogInfo.log("ZSM sFromNative shouldInterceptRequest == " + NativeWebViewUtils.getInstance().getFromNative() + " request == " + request.getUrl().toString());
    if (!NativeWebViewUtils.getInstance().getFromNative()) {
        return super.shouldInterceptRequest(view, request);
    }
    super.shouldInterceptRequest(view, request);
    return NativeWebViewUtils.getInstance().getResource(request.getUrl().toString());
}
项目:CacheWebView    文件:CacheWebViewClient.java   
@TargetApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {

    if (mCustomWebViewClient!=null){
        boolean ret =  mCustomWebViewClient.shouldOverrideUrlLoading(view,request);
        if (ret){
            return true;
        }
    }
    view.loadUrl(request.getUrl().toString());
    return true;
}
项目:CacheWebView    文件:CacheWebViewClient.java   
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
    if (mCustomWebViewClient!=null){
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            mCustomWebViewClient.onReceivedError(view, request, error);
        }
        return;
    }
    super.onReceivedError(view, request, error);
}
项目:CacheWebView    文件:CacheWebViewClient.java   
@Override
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {

    if (mCustomWebViewClient!=null){
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            mCustomWebViewClient.onReceivedHttpError(view, request, errorResponse);
        }
        return;
    }

    super.onReceivedHttpError(view, request, errorResponse);
}
项目:pre-dem-android    文件:ProbeWebClient.java   
@SuppressLint("NewApi")
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
    if (request != null && request.getUrl() != null) {
        try {
            if (!GlobalConfig.isExcludeHost(request.getUrl().getHost())) {
                return getResponseFromUrl(new URL(request.getUrl().toString()));
            }
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }
    return null;
}
项目:studydemo    文件:WebViewActivity.java   
private void initView() {

        mProgressBar = (ProgressBar) findViewById(R.id.mProgressBar);
        mWebView = (WebView) findViewById(R.id.mWebView);

        Intent intent = getIntent();
        String title = intent.getStringExtra("title");
        final String url = intent.getStringExtra("url");
        L.i("url:" + url);



        //进行加载网页的逻辑

        //支持JS
        mWebView.getSettings().setJavaScriptEnabled(true);
        //支持缩放
        mWebView.getSettings().setSupportZoom(true);
        mWebView.getSettings().setBuiltInZoomControls(true);
        //接口回调
        mWebView.setWebChromeClient(new WebViewClient());
        //加载网页
        mWebView.loadUrl(url);

        //本地显示
        mWebView.setWebViewClient(new android.webkit.WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                view.loadUrl(url);
                //我接受这个事件
                return true;
            }
        });
    }
项目:adyo-android    文件:AdyoWebViewClient.java   
@RequiresApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    String url=request.getUrl().toString();
    if (!placement.getCreativeUrl().equals(url)) {
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setData(Uri.parse(url));
        context.startActivity(i);
        return true;
    }
    return false;
}
项目:WebViewJavaScriptBridge    文件:WebViewJavaScriptBridge.java   
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public WebResourceResponse shouldInterceptRequest(WebView webView, WebResourceRequest webResourceRequest) {
    String url = null != webResourceRequest.getUrl() ? webResourceRequest.getUrl().toString() : null;
    if (!TextUtils.isEmpty(url) && url.startsWith(LOCAL_FILE_SCHEMA)) {
        return getLocalResource(url);
    }

    if (null != _webViewDelegate && null != _webViewDelegate.get()) {
        return _webViewDelegate.get().shouldInterceptRequest(webView, webResourceRequest);
    }
    return super.shouldInterceptRequest(webView, webResourceRequest);
}
项目:firefox-tv    文件:TrackingProtectionWebViewClientTest.java   
private static WebResourceRequest createRequest(final String url, final boolean isForMainFrame) {
    return new WebResourceRequest() {
        @Override
        public Uri getUrl() {
            return Uri.parse(url);
        }

        @Override
        public boolean isForMainFrame() {
            return isForMainFrame;
        }

        @Override
        public boolean isRedirect() {
            return false;
        }

        @Override
        public boolean hasGesture() {
            return false;
        }

        @Override
        public String getMethod() {
            return null;
        }

        @Override
        public Map<String, String> getRequestHeaders() {
            return null;
        }
    };
}
项目:Xndroid    文件:LightningWebClient.java   
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, @NonNull WebResourceRequest request) {
    if (mAdBlock.isAd(request.getUrl().toString())) {
        ByteArrayInputStream EMPTY = new ByteArrayInputStream("".getBytes());
        return new WebResourceResponse("text/plain", "utf-8", EMPTY);
    }
    return super.shouldInterceptRequest(view, request);
}
项目:AppAuthWebView-Android    文件:AppAuthWebView.java   
@Override
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {

    isErrorReceived = true;

    if (!isRedirect) {
        mWebView.stopLoading();
        mAppAuthWebViewListener.showConnectionErrorLayout();
        mWebView.setVisibility(View.INVISIBLE);
    }
    super.onReceivedHttpError(view, request, errorResponse);

}
项目:mangafox    文件:MainActivity.java   
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
    super.onReceivedError(view, request, error);

    // Log the error message for debugging
    Log.d(getClass().getSimpleName(), error.toString());

    // Display toast message describing error details
    String errorDetails = String.valueOf(error.getDescription());
    Toast.makeText(mContext, errorDetails, Toast.LENGTH_LONG).show();
}