如何存储cookie,并在另一个会话中重用它们

时间:2011-04-12 17:04:06

标签: java android cookies rss webview

我正在尝试从网页验证用户, 存储cookie并从另一个网页加载rss-feed作为经过身份验证的用户。

我使用带有此WebViewClient的webView,当用户对自己进行身份验证(网址已完成加载)时加载RSS链接: - 直到用户登录并按下其他链接后才会重定向..如何直接重定向登录后?

class LinkWebViewClient extends WebViewClient
{
    //Callback method for when the url is finished loading
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        view.loadUrl(url);
        view.loadUrl("https://something.com/todays-rssfeeds");
        return true;
    }
    @Override
    public void onPageFinished(WebView view, String url) {
        CookieSyncManager.getInstance().sync();

    };


}

主要问题是当我尝试加载第二页时,我必须重新验证自己,因为它不是同一个会话..

有关如何解决这些问题的建议吗?

这些是我的Cookie设置:

/

/ use cookies to remember a logged in status   
            CookieSyncManager.createInstance(this); 
            CookieManager cookieManager = CookieManager.getInstance(); 

            //After Login
            List<Cookie> cookies = httpClient.getCookieStore().getCookies();
            if (!cookies.isEmpty()) {
                for (int i = 0; i < cookies.size(); i++) {
                    cookie = cookies.get(i);
                }
            }

            Cookie sessionCookie = cookie; 

            if(sessionCookie != null)
            { 
                String cookieString = sessionCookie.getName()        +"="+sessionCookie.getValue()+"; domain="+sessionCookie.getDomain(); 
                cookieManager.setCookie(myUrl, cookieString); 
                CookieSyncManager.getInstance().sync(); 
            } 

所有帮助表示赞赏!感谢

1 个答案:

答案 0 :(得分:0)

Cookie与域绑定,但如果这些页面共享身份验证系统(我认为不太可能),您可以手动将会话标识符传递给第二页。如果没有,问题是第二页应如何授权用户?