HarmonyOS 怎么删除cookie里某一项

API没看到有根据域名delete某一项cookie的方式。

原本想使用 webview.WebCookieManager.configCookieSync来实现

webview.WebCookieManager.configCookieSync('domainUrl', '=;Path=/;Domain=domainUrl')

但是发现这样只会追加cookie。请问该怎么实现替换某一个cookie的整个值,或者怎么实现删除特定的cookie?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple
// 将指定url下指定domain的cookie全都清除
public static clearCookieByDomain(sourceUrl: string = '', domain: string = '') {
  if (sourceUrl === '' || domain === '') {
    return
  }

  try {
    const cookieStr = CookieUtil.getCookie(sourceUrl)
    let cookieArray = cookieStr.split(';');
    const cookieKeys = cookieArray.map(item => {
      return item.split('=')[0].trim()
    })
    cookieKeys.forEach(key => {
      // tip: url、domain、key全都要对上才能删除指定cookie项, 且configCookieSync一次只能设置一个cookie项
      webview.WebCookieManager.configCookieSync(
        domain,
        CookieUtil.createExpireCookie(key, domain)
      )
    })
  } catch (err) {
    LogUtil.error("CookieUtil", err?.code, err.message, err.stack) // TODO:Senty上报
  }
}

public static createExpireCookie(key: string = '', domain: string = ''): string {
  if (key === '' || domain === '') {
    return ''
  }

  return key + '=' +
    '; Path=/' +
    '; Domain=' + domain +
    '; HttpOnly; Secure; Expires=Thu, 01 Jan 1970 00:00:00 GMT';
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 删除相册中的某一照片
24浏览 • 1回复 待解决
cookie的读、写和删除操作
319浏览 • 1回复 待解决
判断某一年是不是闰年
516浏览 • 1回复 待解决
怎么在httpRequest中添加cookie
784浏览 • 1回复 待解决
鸿蒙相册的最近删除文件夹在哪?
17602浏览 • 1回复 待解决