iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android Webview拦截ajax请求的示例分析
  • 245
分享到

Android Webview拦截ajax请求的示例分析

2023-05-30 16:05:27 245人浏览 八月长安
摘要

小编给大家分享一下Android WEBview拦截ajax请求的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h6的ajax请求并没有提供

小编给大家分享一下Android WEBview拦截ajax请求的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h6的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的Http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能如:统一的网络请求管理、cookie同步、证书校验、访问控制等。

思路

虽然在 Webview中无法直接拦截 ajax请求(其实在shouldInterceptRequest 中是可以收到ajax请求的,但是遗憾的是取不到请求参数,这样也是没有意义的), 我们可以转换思路,能不能在js中将所有的请求转发到native中,这样也就达到了相同的目的。如果可以,那就需要一种在javascript和native之间通信的桥梁(javascript bridge),通过它,javascript将请求信息传递给native, native完成真正的请求后再将结果数据传递给javascript。那么我们的思路就是:

在javascript中拦截所有ajax请求,然后通过javascript bridge将请求信息传递给native
native收到请求信息后,进行一些与处理逻辑,然后完成本次请求,将请求结果通过javascript bridge再回传给javascript.
这样,在第二步native上收到请求信息后,我们就可以进行统一的网络请求管理、cookie同步、证书校验、访问控制。思路虽然简单,但实现起来却是比较麻烦,因为需要前端和native都需要做不少的工作。那么有什么简单的方法吗?当然有!

轮子

fly.js 是一个支持请求重定向的轻量级、跨平台的Javascript http请求库 ,前端可以使用它轻松发起网络请求,它会自动将请求转发至native. 现在解决了第一个问题,接下来我们需要选一个javascript bridge, 而现在开源的javascript bridge挺多,你可以选择任意一个你喜欢的。但是,在此强烈推荐一下 DSBridge 它是一个使用非常简单并支持同步的跨平台javascript birdge, 最关键的是, DSBridge 的demo中就有接收处理fly.js转发的http请求的示例,并且给出了okhttp的实现,并且,fly.js](https://GitHub.com/wendux/fly) 官方也提供了DSBridge 的adapter. 下面我们以DSBridge为例,演示一下整个过程:

实例

前端

//引入dsbridge adaptervar adapter = require("flyio/dist/npm/adapter/dsbridge")var EngineWrapper = require("flyio/dist/npm/engine-wrapper")var dsEngine = EngineWrapper(adapter)var fly = new Fly(dsEngine);//接下来,通过fly发起的ajax请求都会转发到native上fly.post('/user', {  name: 'Doris',  age: 24  phone:"18513222525" }) .then(function (response) {  console.log(response); }) .catch(function (error) {  console.log(error); });

Native端

 @JavascriptInterface public void onAjaxRequest(JSONObject jsonObject, final CompletionHandler handler){  //jsonObject 为fly adapter 传给端的requerst对象  //端上完成请求后,将响应对象通过hander返回给fly adapter  //hanlder(response) }

fly.js中dsbridge的adapter会调用Native的 onAjaxRequest方法,native只需实现这个方法即可

看完了这篇文章,相信你对“Android Webview拦截ajax请求的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Android Webview拦截ajax请求的示例分析

本文链接: https://www.lsjlt.com/news/219905.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android Webview拦截ajax请求的示例分析
    小编给大家分享一下Android Webview拦截ajax请求的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h6的ajax请求并没有提供...
    99+
    2023-05-30
  • vue中axios请求拦截的示例分析
    这篇文章主要介绍vue中axios请求拦截的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!axios 简介axios 是一个基于Promise 用于浏览器和 nodejs 的...
    99+
    2022-10-19
  • Ajax请求的示例分析
    这篇文章将为大家详细讲解有关Ajax请求的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、定义1、什么是AjaxAjax:即异步 JavaScript 和XML。Ajax是一种用于创建快速动态网...
    99+
    2023-06-29
  • ajax原始请求的示例分析
    这篇文章将为大家详细讲解有关ajax原始请求的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。XMLHttpRequest 对象简介浏览器与服务器之间,采用 HTTP 协议通信。用户在浏览器地址栏键...
    99+
    2023-06-22
  • ajax请求技术的示例分析
    这篇文章主要为大家展示了“ajax请求技术的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ajax请求技术的示例分析”这篇文章吧。1.写在前面:阅读要求...
    99+
    2022-10-19
  • Android WebView通过动态的修改js去拦截post请求参数实例
    需求背景: 需要在用户点击提交按钮的时候拦截用户提交的数据。 遇到的问题: 1.页面不是自家前端做的,不能修改网页中的代码 2.要拦截的请求不是get请求,而是一个post请求...
    99+
    2022-06-06
    参数 post请求 webview 动态 js post Android
  • ajax中多次请求的示例分析
    小编给大家分享一下ajax中多次请求的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我们在用ajax请求数据时,可能会遇...
    99+
    2022-10-19
  • 基于apicloud中AJAX请求的示例分析
    这篇文章主要介绍了基于apicloud中AJAX请求的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。get请求代码:api.ajax...
    99+
    2022-10-19
  • javascript请求servlet实现ajax的示例分析
    小编给大家分享一下javascript请求servlet实现ajax的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!aj...
    99+
    2022-10-19
  • ajax网络请求封装的示例分析
    这篇文章主要为大家展示了“ajax网络请求封装的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ajax网络请求封装的示例分析”这篇文章吧。实例代码://...
    99+
    2022-10-19
  • Ajax请求和Filter配合的示例分析
    这篇文章主要为大家展示了“Ajax请求和Filter配合的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax请求和Filter配合的示例分析”这篇文...
    99+
    2022-10-19
  • mpvue微信小程序中接口请求fly全局拦截的示例分析
    这篇文章主要介绍mpvue微信小程序中接口请求fly全局拦截的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!业务要求:  需要进入页面时就要游客登陆拿到token;  之后的...
    99+
    2022-10-19
  • AJAX请求区分$_SERVER['HTTP_X_REQUESTED_WITH']的示例分析
    小编给大家分享一下AJAX请求区分$_SERVER['HTTP_X_REQUESTED_WITH']的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇...
    99+
    2022-10-19
  • MUi框架ajax请求WebService接口的示例分析
    这篇文章主要为大家展示了“MUi框架ajax请求WebService接口的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MUi框架ajax请求WebSe...
    99+
    2022-10-19
  • Ajax请求中异步与同步的示例分析
    这篇文章主要为大家展示了“Ajax请求中异步与同步的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax请求中异步与同步的示例分析”这篇文章吧。 ...
    99+
    2022-10-19
  • Ajax请求与浏览器缓存的示例分析
    这篇文章主要为大家展示了“Ajax请求与浏览器缓存的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax请求与浏览器缓存的示例分析”这篇文章吧。在现代...
    99+
    2022-10-19
  • Android WebView基础应用的示例分析
    小编给大家分享一下Android WebView基础应用的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、WebView的基础配置WebSettings ws = getS...
    99+
    2023-06-22
  • ajax请求+vue.js渲染+页面加载的示例分析
    这篇文章主要介绍ajax请求+vue.js渲染+页面加载的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.导入js<script type="te...
    99+
    2022-10-19
  • 微信域名拦截检测的示例分析
    微信域名拦截检测的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。平时在微信跑产品经常被屏蔽拦截停止访问怎么办?我们都知道 微信对外部链接管理非常严格,所以自家域名网...
    99+
    2023-06-05
  • Ajax请求二进制流进行处理的示例分析
    小编给大家分享一下Ajax请求二进制流进行处理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!摘要: ajax请求一个二...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作