Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何存储cookie并在另一个会话中重用它们_Java_Android_Cookies_Rss_Webview - Fatal编程技术网

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

Java 如何存储cookie并在另一个会话中重用它们,java,android,cookies,rss,webview,Java,Android,Cookies,Rss,Webview,我正在尝试从网页验证用户身份, 存储Cookie并作为经过身份验证的用户从不同的网页加载rss提要 Im将webView与此WebViewClient一起使用,此WebViewClient在用户进行身份验证时加载RSS链接(url加载完成):-只有在用户登录并按下另一个链接后,才会重定向。。登录后如何直接重定向 class LinkWebViewClient extends WebViewClient { //Callback method for when the url is fin

我正在尝试从网页验证用户身份, 存储Cookie并作为经过身份验证的用户从不同的网页加载rss提要

Im将webView与此WebViewClient一起使用,此WebViewClient在用户进行身份验证时加载RSS链接(url加载完成):-只有在用户登录并按下另一个链接后,才会重定向。。登录后如何直接重定向

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设置:

/

/使用cookies来记住登录状态
CookieSyncManager.createInstance(此);
CookieManager CookieManager=CookieManager.getInstance();
//登录后
列表cookies=httpClient.getCookieStore().getCookies();
如果(!cookies.isEmpty()){
对于(int i=0;i

感谢大家的帮助!谢谢

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

/ 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(); 
            }