URL url = null;
HttpURLConnection con = null;
try {
url = new URL("http://www.cpi.net.cn/");
con = (HttpURLConnection) url.openConnection();
con.connect();
int responseCode = con.getResponseCode();
Map <String,List<String>> map = con.getHeaderFields();//此时拿到了头信息,放到了map中
List<String> cookie= map.get("Set-Cookie");//获取头信息中的 Set-cookie 信息
Map<String, String> resmap = new HashMap<String, String>();
if (cookie != null) {
StringBuffer sb = new StringBuffer();
boolean isLast = false;
int i = 0;
for (String val : cookie) {
i++;
if (i == cookie.size()) {
isLast = true;
}
int pos = val.indexOf("=");
if (pos != -1) {
String cookieName = val.substring(0, pos);
String cookieVal = val.substring(pos + 1);
System.out.println(cookieName+":"+cookieVal);
cookieVal = cookieVal.split(";")[0];
if (isLast) {
sb.append(cookieName + "=" + cookieVal);
} else {
sb.append(cookieName + "=" + cookieVal + ";");
}
}
}System.out.println(sb.toString());
resmap.put("Cookie", sb.toString());//存储 Cookie-CookieValue 的 key-value 对象
//若下次再发送请求 可将上面拿到的cookie信息放到请求的参数中
con.setRequestProperty("Cookie", resmap.get("Cookie"));
//下面再进行操作即可保持此会话
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
if(con!=null)
con.disconnect();
}
相关推荐
在Java编程环境中,服务器与客户端的会话是网络通信的核心部分。这个会话通常涉及到一系列交互,使得服务器能够提供服务,而客户端则可以请求并接收这些服务。在本主题中,我们将深入探讨如何使用Java来建立和管理...
- **SSL Session ID会话保持**:利用SSL连接的Session ID保持会话,适用于加密通信场景。 - **基于HTTP Header的会话保持**:通过检测和使用特定的HTTP头字段来决定请求应发送到哪个服务器。 - **基于I-Rules的...
以上就是在Java中使用HttpClient保持SESSION状态的基本流程。在实际项目中,可能还需要处理重定向、超时、错误处理等复杂情况。注意,对于HTTPS站点,可能需要配置SSLContext和TrustManager,以允许HttpClient信任自...
3. **SSL Session ID会话保持**:利用SSL协议的Session ID来保持会话,适用于处理SSL加密的连接,确保用户在SSL会话期间始终与同一服务器交互。 4. **I-Rules会话保持**:通过自定义的iRule脚本,可以基于更复杂的...
1. 简单会话保持(源地址会话保持):这种方法是根据客户端的IP地址来保持会话,服务器根据客户端的IP地址来识别客户的身份,从而保证同一个客户的多次交互过程都被分配到同一台服务器上。 2. 基于Cookie的会话保持...
会话保持是指在负载均衡器上有这么一种机制,可以识别客户与服务器之间交互过程的关连性,在作负载均衡的同时,还保证一系列相关连的访问请求会保持分配到一台服务器上。 F5 BigIP 支持多种的会话保持方法,包括: ...
【Java会话管理与多线程详解】 Java会话管理主要涉及的是在Web应用程序中如何维护用户的状态信息。在Web应用中,用户打开一个页面,然后进行一系列操作,这些操作可能跨越多个HTTP请求。为了保持用户的上下文信息,...
【Java Web 会话 聊天室】项目是一个典型的基于Java技术栈的Web应用程序,主要涉及了Java Servlet、JSP(JavaServer Pages)以及Web会话管理等核心技术。在这个项目中,用户可以通过一个简单的聊天界面进行实时交流...
10. **Container Services**:如安全、会话管理、生命周期管理等,这些都是Java EE容器提供的服务,开发者需要了解如何利用它们来构建安全、可扩展的应用。 通过SHL的Java EE在线试题,应试者可以评估自己在这些...
java的springboot框架获取企业微信会话内容进行存档,支持windows部署、linux下的docker部署; 能学到什么:企业微信获取会话的流程;企业微信的获取会话内容的公钥私钥加解密;获取企业微信会话内容; 阅读建议:此...
2. **OnOpen**: 此注解用于标记一个方法,当客户端与服务器建立WebSocket连接时,这个方法会被调用。 3. **OnMessage**: 这个注解用于标记一个方法,当服务器接收到客户端发送的消息时,该方法会被调用。可以处理...
- **会话重置**:当用户成功登录后,系统创建一个新的会话ID并替换旧的,防止攻击者利用已知的会话ID进行攻击。 - **会话迁移**:允许用户在不中断当前会话的情况下创建新会话,通常在用户执行敏感操作时使用。 3...
MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。`mysql-connector-...
本笔记重点讲述了如何利用Java语言进行动态网站开发,结合了Servlet、JSP、JSTL等核心技术。 【Lesson 1-13】 Lesson 1至Lesson 13构成了一套完整的Java Web基础教程。这些章节通常会包括以下内容: 1. **Java ...
F5 负载均衡器提供了多种会话保持方法,包括简单会话保持、基于 Cookie 的会话保持等,能够满足不同的应用场景和需求,确保客户与服务器之间的交互过程是一致的,避免了因负载均衡而导致的会话中断问题。
《Java.J2EE.EJB-Enterprise.JavaBeans, 3rd Edition-Titan.Books》是一部针对企业级Java开发的重要参考资料,特别关注Java Enterprise Edition (J2EE) 中的Enterprise JavaBeans (EJB) 技术。这本书的第三版,由...
在Java编程语言中,我们可以利用Java管理扩展(Java Management Extensions, JMX)和ManagementFactory类来获取应用程序,如Tomcat服务器的运行时信息。本文将深入探讨如何通过这些工具来监控Tomcat的一些关键信息。...
java的springboot框架获取企业微信会话内容进行存档,支持windows部署、linux下的docker部署; 能学到什么:企业微信获取会话的流程;企业微信的获取会话内容的公钥私钥加解密;获取企业微信会话内容; 阅读建议:此...
在分布式系统中,用户可能与集群中的任何一台服务器交互,如果没有有效的会话保持机制,每次请求都可能分配到不同的服务器,导致用户会话丢失。Nginx作为反向代理服务器,可以很好地处理这个问题,通过特定的配置...
该手册详细介绍了如何使用Neo4j的官方Java驱动程序,包括驱动程序的安装、使用示例、配置、连接、会话管理、事务处理、查询执行以及异常处理等关键知识点。下面将详细阐释这些知识点。 ### 获取入门 手册首先介绍...