Get Session from Android Webview



我创建了一个Android应用程序,我想从webview获得Session。

如何使之成为可能?

谢谢。

我使用这个方法从webview获取会话cookie:

public static String getCookieFromAppCookieManager(String url) throws MalformedURLException {
   CookieManager cookieManager = CookieManager.getInstance();
   if (cookieManager == null)
        return null;
    String rawCookieHeader = null;
    URL parsedURL = new URL(url);
    rawCookieHeader = cookieManager.getCookie(parsedURL.getHost());
    if (rawCookieHeader == null)
        return null;
    return rawCookieHeader;
}

有两种方法:

  • 如果一个开发人员做了一个httpclient,并做了一个api认证调用和存储cookie。然后你同步httpclient的cookie与webview和本地维护会话。

  • 如果用户使用webview进行认证调用并且cookie驻留在webview中

第一个是你的代码,简单地创建一个getter将返回DefaultHTTPClient的实例。实例也可以访问cookie。您可以异步调用auth API来获取实例中的正确cookie。确保保持HttpClient和Webview同步。

对于在第二个方法中检索cookie,您将使用CookieManager对象和用户登录的url,例如twitter.com,参见这里的第二篇文章了解实现细节。

最新更新