使用httpUrlConnection访问后台时,常常需要保持同一个session。而我们使用的浏览器会自动保持session的状态,在安卓开发中则需要对httpUrlConnection的Header做适当的处理。
1.首先在第一次做访问的时候我们可以获取到一个叫Cookie-set的Header,而他的第一个部分则是我们需要的sessionId,一般是在登陆功能下。
//获取输出流
OutputStream os = urlConnection.getOutputStream();
os.write(data.getBytes());
os.flush();
//获取set-cookie
String cookieval = urlConnection.getHeaderField("set-cookie");
String sessionid="";
if(cookieval != null) {
//获取sessionId
sessionid = cookieval.substring(0, cookieval.indexOf(";"));
}
将session保存在我们的静态常量中,就可以方便后面的网络访问了。
2.在后面的网络访问中放入sessionId
urlConnection.setRequestProperty("cookie", sessionId);//sessionId
这样设置即可