该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
// 这里就是只要eoor=0则说明登录成功了。否则则是登录失败。
// 登录失败,无非就是BAIDUID或者TOKEN没有获取到。
if (line.contains("error=0")){
System.out.println("登录成功");
// 下面就是保存服务器的sessionid。据说 cookie伪造漏洞,就在这里。
// 这是保存session的Map。
loginCookies = new HashMap();
Map> map1 = con.getHeaderFields();
for(String name :map1.keySet()){
if(null == name || "".equals(name) )
continue;
StringBuilder cookie = new StringBuilder();
for(String value : map1.get(name))
cookie.append(value+";");
// 得到服务器成功的session内容。(其实session也是Cookie。)
// 这里吧Set-Cookie改成Cookie是为了,写入到请求Header里面的时候。方便一点。
if("Set-Cookie".equals(name)){
name = "Cookie";
// 保存session内容。因为我们要把session作为cookie发送到服务端。
// 为BAIDUID也是服务端判断是否是有效请求的条件之一
// 所以这里我们还要把BAIDUID给写入到Cookie里面中去
cookie.append("BAIDUID="+baiduid);
}
loginCookies.put(name, cookie.toString());
System.out.println(name+"------"+cookie.toString());
}
}
}