通过HttpURLConnection模拟浏览器提交请求,先后提交三次请求到服务器,要求三次请求服务器端共用一个session. 具体来讲就是,第一次请求,服务器端会建立一个session对象; 第二次请求,服务器端会取出第一次建立的session对象,并设值进去;第三次请求同样要取出第一次建立的session对象。 我现在通过HttpURLConnection模拟浏览器提交请求没有问题,但是服务器端每次取出的session对象不同(sessionid 不同),所以无法达到预期效果。 求教各位高数该如何做,使用cookie吗? 请给出代码,谢谢!

解决方案 »

  1.   

    http://dev2dev.bea.com.cn/blog/csdn/200801/10_843.html看看
      

  2.   

    学习下因为sessionid是保存在cookie里面的
    不知道是不是可以这样第一次请求后
    cookie=urlConn.getHeaderField("Set-Cookie");
    第二次请求前
    urlConn.addRequestProperty("Cookie",cookie);
      

  3.   

    或者试试:
    第一次之后:
    String cookie = conn.getHeaderField("Set-Cookie");
    if (cookie != null) {
    int semicolon = cookie.indexOf(';');
    sessionID = cookie.substring(0, semicolon);第二次之前:
    if (sessionID != null && addr != 0)
    conn.setRequestProperty("Cookie", sessionID);
      

  4.   

    试了,返回信息中没有Set-Cookie,怎么办?