android与Web服务器交互时的cookie使用
来源:互联网 发布:硬质合金铰刀淘宝 编辑:程序博客网 时间:2024/05/29 12:28
Android应用程序访问WEB服务器的时候,我们为了与服务器保持同一会话,也就是说当前登录用户与服务器的交互是在同一个SessionId下。
当我们登录成功的时候,可以通过HTTP请求获取到Cookie信息,其中包括会话的SessionId,同时也可以自己将SessionId放入Json中返回。Session我们可以用一个静态变量来存放,每次向服务器发送请求的时候将SessionId带过去,服务器会自动检验这个SessionId有没有失效。
同样下面是针对大众点评的城市切换的时候,android为了获得这个城市的信息,必须获得它的cookie数据,同时进行保存。
下面是具体的代码
/**
* 向网站发送get请求,url需按照api要求写,返回取得的信息。
* //这个专门给大众点评传入cookie参数用,目的是为了获得用户选择的城市信息
* @param url
* @param client
* @return String
* @author lvqiyong
*/
public static String getRequest1(String url, DefaultHttpClient client,
String charset) throws Exception {
String result = null;
int statusCode = 0;
HttpGet getMethod = new HttpGet(url);
Log.d(TAG, "do the getRequest,url=" + url + "");
try {
getMethod.setHeader("User-Agent", USER_AGENT);
getMethod.setHeader("Cookie", "cy=" + value);//这个专门给大众点评传入cookie参数用,目的是为了获得用户选择的城市信息
// 添加用户密码验证信息
// client.getCredentialsProvider().setCredentials(
// new AuthScope(null, -1),
// new UsernamePasswordCredentials(mUsername, mPassword));
HttpResponse httpResponse = client.execute(getMethod);
// statusCode == 200 正常
statusCode = httpResponse.getStatusLine().getStatusCode();
Log.d(TAG, "statuscode = " + statusCode);
// 处理返回的httpResponse信息
if (statusCode == 200) {
result = retrieveInputStream(httpResponse.getEntity(), charset);
Cookie cookie;
String cookname,cookvalue;
List<Cookie> cookies = client.getCookieStore().getCookies();
if (cookies.isEmpty()) {
Log.i(TAG, "-------Cookie NONE---------");
} else {
for (int i = 0; i < cookies.size(); i++) {
// 保存cookie
cookie = cookies.get(i);
cookname = cookie.getName().trim();
cookvalue = cookie.getValue().trim();
if(cookname.equals("cy")){
name = cookname;
value = cookvalue;
}
}
}
} else
result = "networkerror";
} catch (ConnectTimeoutException e) {// 超时或网络连接出错
result = "timeouterror";
// e.printStackTrace();
} catch (ClientProtocolException e) {
result = "networkerror";
// e.printStackTrace();
} catch (Exception e) {
result = "readerror";
Log.e(TAG, e.getMessage());
throw new Exception(e);
} finally {
getMethod.abort();
}
return result;
}
- android与Web服务器交互时的cookie使用
- android与WEB服务器交互时的SESSION问题
- android与WEB服务器交互时的SESSION
- android与WEB服务器交互时的SESSION问题
- android与WEB服务器交互时的SESSION
- 用户与服务器的交互:cookie简介
- 使用nodejs实现web服务器与客户端的交互
- c# cookie的使用,以及与javascript cookie的交互
- 浏览器与web服务器间的交互
- Android 使用Json实现服务器与客户端数据的交互
- Android使用JSON与服务器交互
- Android使用json与服务器交互
- android 与服务器交互
- Android与服务器交互
- Android与服务器交互
- Android与web服务器数据交互编程---1
- 正确理解web交互中的cookie与session
- 正确理解web交互中的cookie与session
- 美国云计算印象
- 《框架设计原则》课程资料
- ubuntu10.04装中文输入
- 参考文献中的[EB/OL]表示什么含义?
- 程序段及const
- android与Web服务器交互时的cookie使用
- DirectX9 SDK Samples(16) ShadowMap Sample(2)
- 递归实现选择排序
- DML RETURNING INTO Clause
- 32位程序移植到64位机器的注意事项
- 需要谈谈的游戏测试(六)好像不是游戏测试
- Iphone开发-Xcode之快捷健
- 需要谈谈的 游戏测试(七) 更名为小谈checklist
- 堆和栈的区别