我有来自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转换?
答案 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));
}