HarmonyOS 鸿蒙Next web组件拦截设置header请求头无效

HarmonyOS 鸿蒙Next web组件拦截设置header请求头无效

在web组件加载在线网址时,我们需要拦截并设置一个自定义请求头参数,在onLoadIntercept方法中拦截之后,重新调用loadUrl并设置了自定义的请求头参数header。
随后在onLoadIntercept方法以及onInterceptRequest方法中对请求头header进行打印,发现都没有成功设置之前添加的自定义请求头。

实现demo如下:

import web_webview from ‘@ohos.web.webview’
import { WebHeader } from ‘@kit.ArkUI’

@Component export struct Html5Page { controller: web_webview.WebviewController = new web_webview.WebviewController();

a = true;

build() { Column() { Web({src: ‘’, controller: this.controller}) .width(‘100%’) .height(‘100%’) .javaScriptAccess(true) .domStorageAccess(true) .horizontalScrollBarAccess(false) .verticalScrollBarAccess(false) .copyOptions(CopyOptions.LocalDevice) // 设置支持设备内复制内容 .onControllerAttached(() => { this.controller.loadUrl(‘https://www.baidu.com’); }) .onInterceptRequest((event) => { if (!event) { return; } console.debug(onInterceptRequest, header = ${JSON.stringify(event.request.getRequestHeader())}); return null; }) .onLoadIntercept((event)=>{ console.debug(onLoadIntercept, url: ${event.data.getRequestUrl()} \n header: ${JSON.stringify(event.data.getRequestHeader())}); if(this.a) { this.a = false; let referer = ‘https://mall.qnniu.com/’; const header: WebHeader = {headerKey: ‘referer’, headerValue: referer}; console.debug(onLoadIntercept, WebHeader: ${JSON.stringify(header)}); this.controller.loadUrl(event.data.getRequestUrl(), [header]); return true; } return false });

}
.width('100%')
.height('100%')

} }

1 回复

更多关于HarmonyOS 鸿蒙Next web组件拦截设置header请求头无效的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对您提到的HarmonyOS鸿蒙Next web组件拦截设置header请求头无效的问题,这通常可能涉及多个层面的配置和兼容性问题。以下是一些可能的原因及检查方向:

  1. 组件版本与API兼容性:请确保您使用的鸿蒙Next web组件版本支持您想要设置的header类型。不同版本可能对header的支持有所不同。

  2. 拦截器配置:检查您的拦截器配置是否正确。确保拦截器在请求发送前正确设置了header,并且没有在其他地方(如中间件、代理层)被覆盖或移除。

  3. 权限与安全设置:某些header可能因为安全策略被系统默认拦截或修改。检查您的应用是否有足够的权限去设置这些header,以及是否有相关的安全策略限制。

  4. 调试与日志:使用开发者工具进行网络请求的详细调试,查看请求的实际发送情况,包括header是否被正确包含。同时,检查应用日志以获取更多错误信息。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。希望这些信息能帮助您解决问题。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!