递归火山软件开发平台

标题: 浏览框拦截请求数据这样写错哪了?谢谢 [打印本页]

作者: kike    时间: 2023-10-9 17:16
标题: 浏览框拦截请求数据这样写错哪了?谢谢
本帖最后由 kike 于 2023-10-9 17:20 编辑

<火山程序 类型 = "通常" 版本 = 1 />

方法 浏览框_拦截请求 <接收事件 类型 = 整数 注释 = "当需要拦截网页元素时,添加本事件通过\"资源响应\"参数进行拦截操作.">
参数 来源对象 <类型 = 浏览框 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
参数 欲拦截资源 <类型 = 浏览器欲拦截资源 注释 = "通过此参数控制拦截">
参数 即将跳到资源 <类型 = 浏览器资源请求>
{
    如果 (来源对象 == 浏览框1)
    {
        如果 (文本包含 (到文本 (即将跳到资源.取URL ()), "298%2C2000"))
        {
            调试输出 (字节数组到文本 (欲拦截资源.资源.取响应数据 ().到字节数组 ()))
        }
        如果 (文本包含 (到文本 (即将跳到资源.取URL ()), "logo"))
        {
            变量 资源 <参考 类型 = 浏览器资源响应>
            资源 = 浏览器资源响应.创建 ("image/png", , 字节流)
            欲拦截资源.资源 = 资源
        }
    }
    返回 (0)

}
错误: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.InputStream android.webkit.WebResourceResponse.getData()' on a null object reference
<C:\Users\Administrator\Desktop\webview_test\src\main.v>, 34: 错误: 位于 hsh.yl.网页拦截窗口.浏览框_拦截请求
<C:\Users\Administrator\Desktop\webview_test\src\main.v>, 26: 错误: 位于 hsh.yl.网页拦截窗口$1.dispatch
<D:\Program Files\win_android\plugins\vprj_android\classlib\sys\android\ctrl_webview\a_ctrl_webview.v>, 49: 错误: 位于 hsh.anzh.zj.llk.浏览框.拦截请求
<D:\Program Files\win_android\plugins\vprj_android\classlib\sys\android\ctrl_webview\a_ctrl_webview.v>, 415: 错误: 位于 hsh.anzh.zj.llk.浏览框$3.shouldInterceptRequest



作者: 创世魂    时间: 2023-10-9 20:56
只能把你写的例子发出来看看了。。光看这个不知道是哪里的问题。
写个火山例子,把整个项目打包上传。 (注意删除_int目录)

作者: kike    时间: 2023-10-10 13:05
标题: 浏览框拦截请求数据这样写错哪了?谢谢
本帖最后由 kike 于 2023-10-10 13:22 编辑
创世魂 发表于 2023-10-9 20:56
只能把你写的例子发出来看看了。。光看这个不知道是哪里的问题。
写个火山例子,把整个项目打包上传。 (注 ...

无法上传附件?每次上传完成!失败1
官方浏览器拦截例子:
浏览框地址:http://appstore.ldmnq.com/menu_manager
浏览框_拦截请求事件中加入如下:
<火山程序 类型 = "通常" 版本 = 1 />
如果 (文本包含 (到文本 (即将跳到资源.取URL ()), "menu_manager"))
{
    调试输出 (字节数组到文本 (欲拦截资源.资源.取响应数据 ().到字节数组 ()))
}

运行正确是返回:
{"msg":"错误"}
但是它出错退出了。传网盘吧
链接: https://pan.baidu.com/s/1DwW0pyAJM3_GB0At7Cb82w?pwd=d5ir 提取码: d5ir 复制这段内容后打开百度网盘手机App,操作更方便哦



作者: kike    时间: 2023-10-11 12:29
附件终于可以上传了: (, 下载次数: 4)

作者: howill2021    时间: 2023-10-31 14:51
我测试了下,你这个错误在于【欲拦截资源.资源】是空对象,也就报错了,
获取拦截返回的数据好像不能这么用,这个好像是在请求前的拦截,这时候还没有请求也就没有返回数据,具体怎么获取拦截返回的数据我页没找到:噜阿噜
作者: 创世魂    时间: 2023-10-31 17:07
安卓的浏览器这个没办法直接取响应数据的。。所以:欲拦截资源.资源.取响应数据 ()   是错误的写法。
想要获取就需要自己网页访问来获取。

看到访问的地址没,通过地址自己访问,如果涉及到cookie问题,访问的时候取出浏览框的cookie,加到网页访问代码里面。




作者: 创世魂    时间: 2023-10-31 17:07
howill2021 发表于 2023-10-31 14:51
我测试了下,你这个错误在于【欲拦截资源.资源】是空对象,也就报错了,
获取拦截返回的数据好像不能这么用 ...

要自己进行网页访问
作者: howill2021    时间: 2023-10-31 18:36
创世魂 发表于 2023-10-31 17:07
要自己进行网页访问

魂总,如果是一个post请求,如何获取请求参数呢,我看目前只能获取get参数
作者: 飞丶宇    时间: 2024-4-26 21:31
创世魂 发表于 2023-10-9 20:56
只能把你写的例子发出来看看了。。光看这个不知道是哪里的问题。
写个火山例子,把整个项目打包上传。 (注 ...

能拦截 指定 url么不让他加载  




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4