HarmonyOS Web组件是否支持修改在线h5网页的请求头

 HarmonyOS Web组件是否支持修改在线h5网页的请求头,因为项目中所有h5都是一个通用的页面管理的,目前值看到了loadUrl 可以设置请求头,但是loadUrl好像不适用

HarmonyOS
2024-09-02 09:54:31
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

您这边可以尝试在onLoadIntercept里拦截下请求,并通过Set判断请求是否已经拦截过,从而修改在线h5网页的请求头,

您看下如下代码能否实现您的需求~

import web_webview from '@ohos.web.webview' 
@Entry 
@Component 
struct WebHead { 
  controller: web_webview.WebviewController = new web_webview.WebviewController(); 
  private hasCustomHeader: Set<string> = new Set() 
  build() { 
    Column() { 
      Web({ src: $rawfile('local.html'), controller: this.controller }) 
        .onLoadIntercept((event) => { 
          console.info("test--", 'onLoadIntercept url:' + event.data.getRequestUrl()); 
          const url = event.data.getRequestUrl(); 
          if (!url.startsWith("https")) return false; 
          if (this.hasCustomHeader.has(url)) { 
            this.hasCustomHeader.delete(url) 
            return false 
          } 
          this.controller.loadUrl(url, [{ 
            headerKey: 'test', 
            headerValue: '123456' 
          }]) 
          this.hasCustomHeader.add((url)) 
          return true 
        }) 
        .onInterceptRequest((event) => { 
          if (event) { 
            console.info("test--", 'onInterceptRequest url:' + event.request.getRequestUrl()); 
            console.log("test--", '请求头信息:' + JSON.stringify(event.request.getRequestHeader())) 
          } 
          return null 
        }) 
        .width('100%') 
        .height('50%') 
    } 
  } 
}
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
</head> 
<body> 
<div id="root"> 
    这是第一个页面 
    <a href="https://www.huawei.com/test.html">点击这里跳转到目标HTML文件</a> 
</div> 
</body> 
</html>
分享
微博
QQ
微信
回复
2024-09-02 17:56:17
相关问题
HarmonyOS Web组件加载在线H5
52浏览 • 1回复 待解决
app内嵌入H5网页登录储存
271浏览 • 1回复 待解决
HarmonyOS web组件加载h5h5拉起摄像
379浏览 • 1回复 待解决
Web组件h5面如何交互?
63浏览 • 1回复 待解决
HarmonyOS h5是否可以适配Harmony OS
332浏览 • 1回复 待解决
HarmonyOS webH5交互
442浏览 • 1回复 待解决
HarmonyOS h5面缩放问题
351浏览 • 0回复 待解决
HarmonyOS H5面加载缓存机制
56浏览 • 1回复 待解决
HarmonyOS web原生和H5如何交互?
372浏览 • 1回复 待解决
HarmonyOS web通过loadData加载h5标签
38浏览 • 1回复 待解决
H5图片在Web组件中显示异常
54浏览 • 1回复 待解决
web组件如何设置请求
218浏览 • 1回复 待解决