如何从字符串创建httpcookie?

时间:2015-11-10 13:15:52

标签: android cookies

我有来自android cookie manager的cookie字符串

String stringCookie = android.webkit.CookieManager.getInstance().getCookie(url);

返回

hl=ru; PHPSESSID=qmvc3c7qq3r07a3dqn7hgk4065

然后,我使用HttpCookie.parse

List<HttpCookie> cookies = HttpCookie.parse(stringCookie);
          for (HttpCookie c : cookies) {
            Log.e("My WebView","cookie "+ c.toString()+" | "+c.getComment() + " | " +c.getCommentURL()
                + " | " +c.getDomain() + " | " +c.getName() + " | " +c.getPath() + " | " +c.getValue());
          }

但是,phpsessid总是丢失,日志显示

cookie hl=ru | null | null | null | hl | null | ru

如何进行propper转换?

1 个答案:

答案 0 :(得分:1)

我将初始cookie字符串拆分为单独的cookie字符串,然后迭代地对它们进行调整。

ArrayList<HttpCookie> cookiesList = new ArrayList<>();
String[] singleCookie = cookiesString.split(";");
for(String c:singleCookie){
    List<HttpCookie> l = HttpCookie.parse(c);
    cookieList.add(l.get(0));
}