Android给WebView设置Session实现免登录

I'm Shendi.

最近写的 App 使用了 WebView, 因为网站需要登录,需求是用当前app账号去进行登录,避免每次手动登录.

对于这种功能使用 sessionId 验证的话很简单,直接后台进行登录取得 sessionId 然后给WebView设置

代码如下

    // 获取到 sessionId
	HttpURLConnection u = null;
	String sessionId = null;
	try {
        // 这里 URL 里的为登录的链接.
		u = (HttpURLConnection) new URL("").openConnection();
		u.setDoInput(true);
		u.setRequestMethod("POST");
		u.getInputStream();
        // 这里获取登陆后的 sessionId
		sessionId = u.getHeaderField("set-cookie");
	} catch (IOException e) {
		e.printStackTrace();
	} finally {
		if (u != null) u.disconnect();
	}

	// 设置 Cookie
	CookieSyncManager.createInstance(MainActivity.getContext());
	CookieManager cookieManager = CookieManager.getInstance();
	cookieManager.setAcceptCookie(true);
	cookieManager.removeSessionCookie();
    // 这里设置的是 某个 url 的 cookie, cookie 为sessionId
	cookieManager.setCookie(url,sessionId);
	CookieSyncManager.getInstance().sync();

猜你喜欢

转载自blog.csdn.net/qq_41806966/article/details/106911858
今日推荐