HarmonyOS HTTP请求返回的cookie是一个字符串类型,怎么取值

业务上http请求需要注入cookie,请求返回新的cookie后,下次http请求需要带上上次请求请求返回新的cookie,同时需要给webview注入cookie,当前http请求注入cookie是name1=value1;name2=value2这样的形式,webview注入的cookie是name1=value1,name2=value2这样的形式,http请求响应返回的cookie是一个字符串,格式和http请求注入cooke差距很大,不好取值拿到对应的cookie的name和value,希望http响应返回的cookie格式可以比较方便地拿到cookie的name和value

HarmonyOS
2024-12-27 14:09:08
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

由于很多系统已解析了http模块的cookie,http模块cookie的格式目前不会调整,开发者可以尝试用如下的方法解析cookie

export function parseCookie(str:string):ResponseCookie[]{
  if(str.length == 0){
    return [];
  }
  let cookies = str.split("\r\n");
  let res:ResponseCookie[] = [];
  for(let item of cookies){
    let citem = item.split("\t");
    let key = citem[5];
    let val = citem.length ==7?citem[6]:"";
    let coo = new ResponseCookie(key,val)
    res.push(coo)
  }
  return res;
}

export class ResponseCookie{
  private name:string;

  private value?:string;

  constructor(name:string,value:string|undefined) {
    this.name = name;
    this.value =value;
  }

  public getName():string{
    return this.name;
  }

  public setName(name:string){
    this.name = name;
  }

  public getValue():string|undefined{
    return this.value;
  }

  public setValue(value:string|undefined){
    this.value = value;
  }
}
分享
微博
QQ
微信
回复
2024-12-27 17:34:49
相关问题
HarmonyOS一个字符串MD5demo
265浏览 • 1回复 待解决
如何判断一个字符是不是数字?
965浏览 • 1回复 待解决
转换整个字符串字符为小写
567浏览 • 1回复 待解决
转换整个字符串字符为大写
627浏览 • 1回复 待解决
怎么动态组装一个json字符串
522浏览 • 1回复 待解决