一个很简单的问题,记下来备忘吧。
我们使用WebView加载网页的时候会出现这样的情况,就是我们直接加载网址是不行的,要想URL中添加Cookie(这个主要是用那个JSESSIONID,因为客户端和服务器端识别是同一会话的方法就是这个JSESSIONID),那我们应该怎么向URL添加呢?
给WebView添加Cookie使用起来很简单就是使用CookieSyncManager和CookieManager。
首先使用CookieSyncManager.createInstance(context);创建CookieSyncManager再使用CookieManager.getInstance();得到CookieManager。
得到CookieManager后 就可以用CookieManager中的setCookie(url, cookieString);方法给URL添加Cookie了。当然最后不要忘了调用CookieSyncManager.getInstance().sync();同步。
之后就可以使用WebView.loadUrl(URL);加载页面了
下面是完整的代码
//创建CookieSyncManager CookieSyncManager.createInstance(context); //得到CookieManager CookieManager cookieManager = CookieManager.getInstance(); //得到向URL中添加的Cookie的值 String cookieString = LoginFragment.requestHead.get("Set-Cookie"); //使用cookieManager..setCookie()向URL中添加Cookie cookieManager.setCookie(url, cookieString); CookieSyncManager.getInstance().sync();