`
zjwlonger
  • 浏览: 15961 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用java.HttpURLConnect 保持与网站的会话方法

    博客分类:
  • java
阅读更多

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();

}

0
2
分享到:
评论

相关推荐

    java服务器与客户端会话

    在Java编程环境中,服务器与客户端的会话是网络通信的核心部分。这个会话通常涉及到一系列交互,使得服务器能够提供服务,而客户端则可以请求并接收这些服务。在本主题中,我们将深入探讨如何使用Java来建立和管理...

    用户会话完整性的保持

    - **SSL Session ID会话保持**:利用SSL连接的Session ID保持会话,适用于加密通信场景。 - **基于HTTP Header的会话保持**:通过检测和使用特定的HTTP头字段来决定请求应发送到哪个服务器。 - **基于I-Rules的...

    Java 使用HttpClient保持SESSION状态

    以上就是在Java中使用HttpClient保持SESSION状态的基本流程。在实际项目中,可能还需要处理重定向、超时、错误处理等复杂情况。注意,对于HTTPS站点,可能需要配置SSLContext和TrustManager,以允许HttpClient信任自...

    F5负载均衡会话保持

    3. **SSL Session ID会话保持**:利用SSL协议的Session ID来保持会话,适用于处理SSL加密的连接,确保用户在SSL会话期间始终与同一服务器交互。 4. **I-Rules会话保持**:通过自定义的iRule脚本,可以基于更复杂的...

    F5会话保持

    1. 简单会话保持(源地址会话保持):这种方法是根据客户端的IP地址来保持会话,服务器根据客户端的IP地址来识别客户的身份,从而保证同一个客户的多次交互过程都被分配到同一台服务器上。 2. 基于Cookie的会话保持...

    F5负载均衡算法以及会话保持

    会话保持是指在负载均衡器上有这么一种机制,可以识别客户与服务器之间交互过程的关连性,在作负载均衡的同时,还保证一系列相关连的访问请求会保持分配到一台服务器上。 F5 BigIP 支持多种的会话保持方法,包括: ...

    java会话管理、多线程.docx

    【Java会话管理与多线程详解】 Java会话管理主要涉及的是在Web应用程序中如何维护用户的状态信息。在Web应用中,用户打开一个页面,然后进行一系列操作,这些操作可能跨越多个HTTP请求。为了保持用户的上下文信息,...

    Java Web 会话 聊天室

    【Java Web 会话 聊天室】项目是一个典型的基于Java技术栈的Web应用程序,主要涉及了Java Servlet、JSP(JavaServer Pages)以及Web会话管理等核心技术。在这个项目中,用户可以通过一个简单的聊天界面进行实时交流...

    SHL(Java.Platform.Enterprise.Edition)在线试题

    10. **Container Services**:如安全、会话管理、生命周期管理等,这些都是Java EE容器提供的服务,开发者需要了解如何利用它们来构建安全、可扩展的应用。 通过SHL的Java EE在线试题,应试者可以评估自己在这些...

    java的springboot框架实现获取企业微信会话内容存档

    java的springboot框架获取企业微信会话内容进行存档,支持windows部署、linux下的docker部署; 能学到什么:企业微信获取会话的流程;企业微信的获取会话内容的公钥私钥加解密;获取企业微信会话内容; 阅读建议:此...

    websocket-java.zip

    2. **OnOpen**: 此注解用于标记一个方法,当客户端与服务器建立WebSocket连接时,这个方法会被调用。 3. **OnMessage**: 这个注解用于标记一个方法,当服务器接收到客户端发送的消息时,该方法会被调用。可以处理...

    spring security 3.x session-management 会话管理失效

    - **会话重置**:当用户成功登录后,系统创建一个新的会话ID并替换旧的,防止攻击者利用已知的会话ID进行攻击。 - **会话迁移**:允许用户在不中断当前会话的情况下创建新会话,通常在用户执行敏感操作时使用。 3...

    mysql-connector-java-5.1.47 jar包

    MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。`mysql-connector-...

    圣思园java.web笔记

    本笔记重点讲述了如何利用Java语言进行动态网站开发,结合了Servlet、JSP、JSTL等核心技术。 【Lesson 1-13】 Lesson 1至Lesson 13构成了一套完整的Java Web基础教程。这些章节通常会包括以下内容: 1. **Java ...

    F5负载均衡会话保持技术及原理技术白皮书.docx

    F5 负载均衡器提供了多种会话保持方法,包括简单会话保持、基于 Cookie 的会话保持等,能够满足不同的应用场景和需求,确保客户与服务器之间的交互过程是一致的,避免了因负载均衡而导致的会话中断问题。

    Java.J2EE.EJB-Enterprise.JavaBeans, 3rd Edition-Titan.Books

    《Java.J2EE.EJB-Enterprise.JavaBeans, 3rd Edition-Titan.Books》是一部针对企业级Java开发的重要参考资料,特别关注Java Enterprise Edition (J2EE) 中的Enterprise JavaBeans (EJB) 技术。这本书的第三版,由...

    java利用ManagementFactory获取tomcat的一些信息例子

    在Java编程语言中,我们可以利用Java管理扩展(Java Management Extensions, JMX)和ManagementFactory类来获取应用程序,如Tomcat服务器的运行时信息。本文将深入探讨如何通过这些工具来监控Tomcat的一些关键信息。...

    springboot实现获取企业微信会话内容存档支持windows、linux部署配置

    java的springboot框架获取企业微信会话内容进行存档,支持windows部署、linux下的docker部署; 能学到什么:企业微信获取会话的流程;企业微信的获取会话内容的公钥私钥加解密;获取企业微信会话内容; 阅读建议:此...

    nginx+tomcat7+memcached session会话保持

    在分布式系统中,用户可能与集群中的任何一台服务器交互,如果没有有效的会话保持机制,每次请求都可能分配到不同的服务器,导致用户会话丢失。Nginx作为反向代理服务器,可以很好地处理这个问题,通过特定的配置...

    neo4j-driver-manual-4.2-java.pdf

    该手册详细介绍了如何使用Neo4j的官方Java驱动程序,包括驱动程序的安装、使用示例、配置、连接、会话管理、事务处理、查询执行以及异常处理等关键知识点。下面将详细阐释这些知识点。 ### 获取入门 手册首先介绍...

Global site tag (gtag.js) - Google Analytics