用了HttpClient登陆服务器端(通过URL返回Json),并顺利通过验证成功
安卓客户端进入了系统,但是在访问服务器资源(Post或get)是,却又遇到了服务器重新需要验证
“没有权限”,改怎样让服务器打算记住,我通过URL已经验证过了,不需要重新验证就可以直接取得数据。
比较着急,找不到问题所在。请各位大侠请教,高分相送
安卓客户端进入了系统,但是在访问服务器资源(Post或get)是,却又遇到了服务器重新需要验证
“没有权限”,改怎样让服务器打算记住,我通过URL已经验证过了,不需要重新验证就可以直接取得数据。
比较着急,找不到问题所在。请各位大侠请教,高分相送
解决方案 »
- 定制SlidingDrawer使其在close时显示其余元素,而在open时占据全屏
- android菜鸟CNT...布局定义的问题
- SDK Platform Tools component is missing!
- ActivityGroup中调用子Activity的finish方法退出程序的问题
- 关于Android内置的搜索框
- SlidingDrawer 运行正常但布局里面出现IllegalArgumentException: The handle attribute is requi
- 有谁知道Android中Email程序提供的Provider有哪些?
- IConnectivityManager.stub类代码文件位置在哪里
- windows下解压system.img文件,如何保持权限?有没有人知道啊?
- android手机开发者选项->选择USB配置->音频源,这个怎么用?
- 救助!求助!求助!求赐教关于android的学习和基础!
- android密码屏保
1.登陆成功后返回客户端一个令牌(你自己定义类似身份证明的东西),服务端同时将这个令牌存放在cookie或session中,客户端进入系统后再获取数据就靠令牌去获取,如果令牌对就返回数据。这样可以避免服务端与数据库的交互次数,提高效率,但是要做好服务端的安全性工作,因为你的身份数据有可能是放在cookie中的2.每次获取数据都将用户名和密码提交给服务端验证一下。但是密码除了第一次登录是用户输入的原始密码外,最好后面都用加密过后的密码登录和获取数据
conn.setRequestProperty("添加的键", 添加的值);
验证通过后每一次的访问带过去一个可以验证成功的码,每次访问的时候进行验证一下就可以了
private static final String USER_AGENT=xxxandroid/1.0(compatible;xxxandroidclient 1.0;android 2.2;)";
public byte[] getBytesByPost(String url,List<NameValuePair> paramsList) throws IllegalStateException, IOException{
HttpParams params = new BasicHttpParams();
DefaultHttpClient client = new DefaultHttpClient(params);
HttpPost post = new HttpPost(url);
String strCook=getCookieString();
post.setHeader("Cookie", strCook);
post.setHeader("User-Agent", USER_AGENT);
HttpResponse response = null;
post.setEntity(new UrlEncodedFormEntity(paramsList));
response = client.execute(post);
resetCookie(client.getCookieStore().getCookies());
InputStream is = response.getEntity().getContent();
System.out.println("ByPost:getBytesByPost");
return Utility.streamToBytes(is);
}
上面是我们提交数据时的方法,请大家指点。
各位有没有这方面的源码,参考一下哈,谢谢了