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>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
分享
微博
QQ
微信
回复
2024-09-02 17:56:17


相关问题
HarmonyOS Web组件加载在线H5
703浏览 • 1回复 待解决
app内嵌入H5网页登录储存
825浏览 • 1回复 待解决
HarmonyOS web组件加载h5h5拉起摄像
1220浏览 • 1回复 待解决
Web组件h5面如何交互?
757浏览 • 1回复 待解决
HarmonyOS Web拦截网页动态添加请求
306浏览 • 1回复 待解决
HarmonyOS Web组件加载H5白屏
562浏览 • 1回复 待解决
HarmonyOS 如何修改H5localstorage
319浏览 • 1回复 待解决
HarmonyOS h5是否可以适配Harmony OS
1050浏览 • 1回复 待解决