android 拦截webview加载url_android webview拦截post的请求
1.拦截post的请求在其中添加请求头。
在WebViewClient()中使用shouldInterceptRequest方法进行拦截;注意在api21以下使用
public WebResourceResponse shouldInterceptRequest(WebView view, String url){};api21以上public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request){}。目前比较方便的在public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request)中进行拦截,因为request中提供了判断了请求方式的方法以及获取请求头的方法。虽然可以添加请求但是无法获取请求体部分(官方没有提供获取请求体的方法),抓包时发现没有请求体。
在api21以下只提供地址无法判断是post还是get请求。有谁有好的方法麻烦告知以下。
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Nullable
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
if (request.getMethod().equalsIgnoreCase("post")){
URL url= null;
try {
LogUtil.i("11111111111=====request.getUrl().toString()==="+request.getUrl().toString());
url = new URL(request.getUrl().toString());
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestMethod("POST");
Map requestHeaders = request.getRequestHeaders();
for (Map.Entry entry : requestHeaders.entrySet()) {
connection.setRequestProperty(entry.getKey(), entry.getValue());
}
String version = APKUtil.getVerName(TaskCenterActivity.this);
int systemVersion = APKUtil.getSystemVersion();
connection.setRequestProperty("Authorization", MyApplication.getAppUser().getAccess_token());
connection.setRequestProperty("Bp-Channel","Android/" + version + "/" + systemVersion);
// String params = "\nBp-Channel:" + "Android/" + version + "/" + systemVersion + "\nAuthorization:" + MyApplication.getAppUser().getAccess_token();
// DataOutputStream os=new DataOutputStream(connection.getOutputStream());
// os.writeBytes(params);
return new WebResourceResponse("text/html", connection.getContentEncoding(), connection.getInputStream());
} catch (Exception e) {
e.printStackTrace();
}
}
return super.shouldInterceptRequest(view,request);
}
android 拦截webview加载url_android webview拦截post的请求相关推荐
- android webview 加载本地,webview加载本地资源的各种尝试
1.webview 打开sd卡上的静态html文件 ,js文件既然放在assets文件夹下能找到,那能通过放在sd卡,能加载吗? 答:事实证明,是没有用的. 2.既然能拿到html的数据,那我们是不是 ...
- android 拦截webview加载url_WebView拦截url
前言 在 Android开发过程中,我们偶尔会涉及到WebView的url 拦截问题.那么今天就让我们来详细讲讲WebView的拦截与返回. 今天涉及的内容: WebView 加载原理 拦截之shou ...
- 利用web实现android的界面,利用WebView加载手机端网页实现APP封装
**思路 : ** 安卓端只使用一个Activity 此Activity中只包含WebView这个控件 并且隐藏此Activity的标题栏 这样只要我们前端对手机浏览器的适配做的很好 我们这个WebV ...
- Android开发之WebView加载自定义scheme报错net::ERR_UNKNOWN_URL_SCHEME(附带源码标题下面可点击下载)
咱们先看下报错结果图: 我这边是华为荣耀7i手机才出现这个情况,总结得出结论android6.0以上加载自定义scheme会报错如下,6.0以下貌似不会 三星和模拟器没有可以直接加载这个url ,网页 ...
- Android WebView加载淘宝拼多多及其他第三方页面问题
阔别Android一年多,最近又接手过来公司里的Android端的项目,按照需求如果手机中没有安装淘宝或者拼多多.京东及其他app应用就在应用内使用webview加载第三方应用页面,但是一直错误重定向 ...
- Android—WebView加载速度优化工程实践
一.混合开发的优势与缺陷 在混合开发大行其道的今天,很多页面和功能都转由前端实现,客户端只要在APP中嵌入一个WebView即可,同时前端开发的页面对于Android和iOS端的效果是统一的,省去了适 ...
- android动态设置错误页面,Android中替换WebView加载网页失败时的页面
我们用webView去请求一个网页链接的时候,如果请求网页失败或无网络的情况下,它会返回给我们这样一个页面,如下图所示: 上面这个页面就是系统自带的页面,你觉得是不是很丑?反正小编本人觉得非常丑,很难 ...
- Android使用WebView加载网页
在AndroidManifest.xml设置访问网络权限: <span style="font-size:24px;"><span style="fon ...
- Android中WebView加载sdcard中的html时提示:ERR_FILE_NOT_FOUND和ERR_ACCESS_DENIED
场景 Android中WebView加载sdcard中的html显示: Android中WebView加载sdcard中的html显示_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在实 ...
最新文章
- 【前沿技术】2021年AI将改变制造业的6大应用趋势
- 关于BBSxp/LeadBBS的后台上传Webshell的鸡肋防范
- 别总埋汰写代码,停下总结一下吧
- EnableFeignClients注解解析
- Eigen求解数学问题(二)
- flv 开源 修复_解决开源项目错误和修复的5个步骤
- shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断
- 最简单快速的源码开发平台 -- LEARUN
- vue渲染大量数据优化_vue大数据表格卡顿问题的完美解决方案
- 什么是再生纤维素纤维
- Android中级面筋:开发2年的程序员如何短期突击面试?
- 使用C/C++制作简单的俄罗斯方块 一
- 从零开始学python第13天
- 佟年计算机天才不会打游戏,亲爱的热爱的:Gun神带佟年开黑,网友:甜蜜游戏时间...
- 【考研经验】2019年浙江大学软件学院考研经验分享, 双非_二战_妹纸_跨考_上岸!...
- [ 常用工具篇 ] windows安装phpStudy_v8.1_X64
- 【MCP3208/MCP3204】STM32多通道AD采集,有源码
- 怎么判断各种值是不是为空
- 新年大礼包:Xbox、Switch,PopMart芝麻街系列盲盒,小度音响,百度网盘超级会员免费领...
- crontab定时运行bash脚本,重启zeppelin
热门文章
- Google Puppeteer加入到headless Chrome的工具行列
- Docker发布镜像至Docker Hub
- Linux中文件颜色所代表的属性和颜色
- 小蚂蚁学习PHP性能优化(2)--PHP语言级性能优化
- sencha Touch 2.4 学习之 XTemplate模板
- java: 无法将类 com.duo_tai.Cow中的构造器 Cow应用到给定类型;
- AX2009 的EP开发要点
- 艺街开放平台开源计划
- ASP.Net中调用CSS
- 爆牙齿的Web标准面试考题II(iPhone SMS/iChat UI的Web标准实现)