给WebView添加Cookie

一个很简单的问题,记下来备忘吧。


我们使用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();

你可能感兴趣的:(Android)