Android 拦截WebView请求,并加入或修改参数(GET)

本文介绍了如何在Android中使用WebView的shouldInterceptRequest方法拦截H5的GET请求,并结合用户ID等信息动态拼接或修改请求参数,以满足特定需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到一个需求,H5内部调用登录请求,然后手机端给他拼接用户的ID及其他消息

这个WebView提供了方法shouldInterceptRequest

下面代码,只是简单demo,请求方式是get

mWebView.setWebViewClient(new WebViewClient() {
    @Nullable
    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
        if (url.contains("UserName")) {
            URL urlStr = null;
            try {
                urlStr = new URL(url+"?userId=12");
                URLConnection rulConnection = urlStr.openConnection();
                HttpURLConnection conn = (HttpURLConnection) rulConnection;
                conn.setRequestProperty("Accept-Charset", "utf-8");
                conn.setRequestProperty("contentType", "utf-8");
                conn.setRequestMethod("GET");
                // Read input
                String charset = conn.getContentEncoding() != null ? conn.getContentEncoding() : Charset.defaultCharset().displayName();
                String mime = conn.getContentType();
                InputStream isContents = conn.getInputStream();
                return new WebResourceResponse(mime, charset,
                        isContents);
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        } else {
            return super.shouldInterceptRequest(view, url);
        }
    }
});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值