HarmonyOS 鸿蒙Next webwiew的cookie携带不过去

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next webwiew的cookie携带不过去

从鸿蒙跳转到h5页面,webwiew的cookie携带不过去

2 回复

使用下面测试demo,先清除,再配置后获取。拿到的cookie是一致的。

可以参考下:

import { webview } from '@kit.ArkWeb';

import { BusinessError } from '@kit.BasicServicesKit';

@Entry

@Component

struct WebPlayerFullScreen {

  controller: webview.WebviewController = new webview.WebviewController();

  build() {

      Column({space:20}) {

        Button('clearAllCookiesSync')

          .onClick(() => {

            webview.WebCookieManager.clearAllCookiesSync();

          })

        Button('configCookieSync')

          .onClick(() => {

            try {

              // 仅支持设置单个cookie值。

              webview.WebCookieManager.configCookieSync('https://xxx', 'a=b');

            } catch (error) {

              console.error(`ErrorCode: ${(error as BusinessError).code},  Message: ${(error as BusinessError).message}`);

            }

          })

        Button('fetchCookieSync')

          .onClick(() => {

            try {

              let value = webview.WebCookieManager.fetchCookieSync('https://xxx');

              console.log("fetchCookieSync cookie = " + value);

            } catch (error) {

              console.error(`ErrorCode: ${(error as BusinessError).code},  Message: ${(error as BusinessError).message}`);

            }

          })

          Web({ src: 'https://xxx', controller: this.controller })

            .javaScriptAccess(true)

            .domStorageAccess(true)

            .mixedMode(MixedMode.All)

            .zoomAccess(true)

      }

      .width('100%')

      .height('100%')

  }

}

针对HarmonyOS 鸿蒙Next webview的cookie携带不过去的问题,这通常与Cookie的管理策略和网络请求配置有关。

在HarmonyOS 鸿蒙Next系统中,Cookie的携带并非默认行为,而是需要在发起网络请求时,通过编程方式将相关的cookies添加到请求头中。如果webview中的cookie没有携带过去,可能是因为在发起请求时未正确添加cookie,或者cookie的作用域限制导致无法传递。

确保在发起webview请求前,使用WebCookieManager等接口正确设置了cookie,并检查cookie的Domain、Path、Secure和HttpOnly等属性是否设置正确,特别是Domain属性,需要确保与访问的域名匹配。

此外,还需注意浏览器缓存和服务器响应头中的Cache-Control、Expires等头信息可能会影响Cookie的发送。

如果以上方法仍然无法解决问题,可能是系统或应用层面的bug,建议联系HarmonyOS的开发者支持或查看官方文档以获取更多帮助。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部