android端和服务端session保持

原创 2013年12月05日 16:29:14

为了保持服务端的session,我首先想到的办法就是没隔一段时间调用一下我们的服务器。

之前出了总总问题,什么timeoutException,ClientProtocolException等等问题,我讲慢慢解释.

我在service中做轮询调用服务器保持session时,只要出现一次timeoutexception,接着就会出现ClientProtocolException,后来发现这是重定向导致的问题,然后在AsyncHttpClient中设置了

client.setEnableRedirects(false);
client.getHttpClient().getParams().setParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS, false);
但是这么一设置又会出一个问题,我在登录的时候总是报302,又回到了重定向的问题。

我发现服务端在给我设置attribute传递cookies的时候,使用了重定向。没办法,只能将setEnableRedirects再次打开。

还有一个问题就是在AsyncHttpClient话说是自动保存CookieStore的,但是我打印了log,结果CookieStore是为null,导致我在做轮询的时候,是没有向服务端提交Cookie的,这样过了30分钟服务端的session任然会超时。

于是手动的加上

CookieStore cookieStore = new PersistentCookieStore(this);
cline.setCookieStore(cookieStore);

然后打印log

CookieStore cookieStore = new PersistentCookieStore(this);
		cline.setCookieStore(cookieStore);
		HttpContext httpContext = cline.getHttpContext();
		CookieStore cookies = (CookieStore) httpContext.getAttribute(ClientContext.COOKIE_STORE);
		if(cookies!=null){
			for(Cookie c:cookies.getCookies()){
				LogUtil.d("login activtity onsuccess before ~~"+c.getName(),c.getValue());
			}
		}else{
			LogUtil.d("login activtity onsuccess  before~~","cookies is null");
		}
发现这次才有值。

哈哈,明白了吧,你需要在登录的时候手动添加

CookieStore cookieStore = new PersistentCookieStore(this);
		cline.setCookieStore(cookieStore);
才可以的。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android实现session保持【以及web登陆保持】

对于登录功能本身没有任何特别,使用httpclient向服务器post用户名密码即可。 但是为了保持登录的状态(在各个Activity之间切换时要让网站知道用户一直是处于登录的状态)就需要进行coo...

Android 通过httpclient请求web服务器,并解决用户登录session保持

package com.rainet.tiis.network; import java.util.Iterator; import java.util.List; import java.util...

Android客户端和服务端如何使用Token和Session

对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我就带大家一起分析分析这东西。     一、我们先解释一下他的...

Android客户端和服务端如何使用Token和Session

对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我就带大家一起分析分析这东西。     一、我们先解释一下他的...

Android客户端和服务端如何使用Token和Session

一、我们先解释一下他的含义:     1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在...

Android客户端和服务端如何使用Token和Session

转载http://wyong.blog.51cto.com/1115465/1553352 对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什...

Android客户端和服务端如何使用Token和Session

对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我就带大家一起分析分析这东西。一、我们先解释一下他的含义:1、T...

Android客户端和服务端如何使用Token和Session

Android客户端和服务端如何使用Token和Session对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我...

[转]Android客户端和服务端如何使用Token和Session

对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我就带大家一起分析分析这东西。     一、我们先解释一下他的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)