在后台程序中新起的请求
URL url = new URL("....");
URLConnection conn = url.openConnection();
如何获取当前页中的session
思路把session存到cookies中,在URLConnection中设置cookies中的session,这样的思路对吗?哪位大侠指教下!!!!!!!在线等!URLsessionCookie

解决方案 »

  1.   


    URL url = new URL(link);
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
    //获得session信息
    session_value = urlConnection.getHeaderField("Set-Cookie");
    String[] sessionId = session_value.split(";");
    //保存session信息
    urlConnection.setRequestProperty("Cookie", sessionId[0])楼主试试。
      

  2.   

      第一次和服务器发起POST或是GET请求以后,通过getHeaderField方法获得SessionID,具体方法为:
    String session_value=getHeaderField("Set-Cookie");
    这里得到的session_value可能不全是sessionId,还包含其他内容,用正则或者其他方法获得session_value中的sessionId的值就可以了
      第二次发起POST或是GET请求的时候需要把刚才获得的SessionID放置在请求的头部然后再提交,这样就能服务器就会认为是同一个Session请求了,具体方法为:setRequestProperty("Cookie", session_value);这样就实现了保存session向服务器提交请求实例代码:
    URL url = new URL(link);
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
    //get session info
    session_value = urlConnection.getHeaderField("Set-Cookie");
    String[] sessionId = session_value.split(";");
    //save session info
    urlConnection.setRequestProperty("Cookie", sessionId[0])
      

  3.   

    URL url = new URL("....");
    URLConnection conn = url.openConnection();是想获取之前的Session!???????????????????????????????????