当前位置:编程学习 > JAVA >>

URLConnection请求如何获取已有的Session

在后台程序中新起的请求
URL url = new URL("....");
URLConnection conn = url.openConnection();
如何获取当前页中的session


思路把session存到cookies中,在URLConnection中设置cookies中的session,这样的思路对吗?

哪位大侠指教下!!!!!!!

在线等! URL session Cookie --------------------编程问答--------------------

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])

楼主试试。 --------------------编程问答--------------------   第一次和服务器发起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])

--------------------编程问答--------------------
引用 2 楼 tanglei198577 的回复:
  第一次和服务器发起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])

哥们别把百度的资料完整粘贴  好不?   给点有用的! --------------------编程问答--------------------
引用 2 楼 tanglei198577 的回复:
  第一次和服务器发起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])


哥们别把百度的资料完整粘贴  好不?   给点有用的!
--------------------编程问答-------------------- URL url = new URL("....");
URLConnection conn = url.openConnection();

是想获取之前的Session!

??????????????????????????????????? --------------------编程问答-------------------- 1, 2 楼都是对的。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,