模拟登录中,如何保持session

梁不正 梁不正 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
用java写的一个模拟登录程序,转到userInfo 页面时却得不到用户信息,怀疑是得不到session。
贴上代码,像这样先取得cookie 再发回去的方法好像不可行?
public static void login() throws HttpException, IOException{
URL url = new URL("http://localhost/ONCAPS/login.php");

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setDoOutput(true);//允许连接提交信息

connection.setRequestMethod("POST");//网页提交方式“GET”、“POST”

connection.setRequestProperty("User-Agent", "Mozilla/4.7 en");

StringBuffer sb = new StringBuffer();

sb.append("user_id=test1");

sb.append("password=123456");

OutputStream os = connection.getOutputStream();

os.write(sb.toString().getBytes());

os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));




String responseCookie = connection.getHeaderField("Set-Cookie");//取到所用的Cookie
System.out.println("cookie:" + responseCookie);
String line = br.readLine();


while (line != null) {


System.out.println(new String(line.getBytes()));


line = br.readLine();//打出登录的网页


}
//acces
URL url1 = new URL("http://localhost/ONCAPS/userInfo.php");
HttpURLConnection connection1 = (HttpURLConnection) url1.openConnection();
connection1.setRequestProperty("Cookie", responseCookie);//给服务器送登录后的cookie
BufferedReader br1 = new BufferedReader(new InputStreamReader(connection1.getInputStream()));


String line1= br1.readLine();


while (line1 != null) {


System.out.println(new String(line1.getBytes()));


line1 = br1.readLine();


}
}
谢谢各位
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
梁不正
Web 开发 81,108 成员 341,721 内容