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

HttpClient简单请求和session的保持

 
阅读更多

HttpClient是一个客户端的HTTP通信实现库,目标是发送和接受HTTP请求。HTTPClient维护cookies,session的保持在客户端就是cookie的体现。HttpClinet的session的保持有两种方式,一种是将HttpClient实例保存于web应用的session中,再次请求时取出,因为httpclient会维持cookies。另一种是再次请求时,将上次请求获取的cookies带入请求中,此种方式无需将httpclient保存于session中。 

  NameValuePair[] param = { new NameValuePair("username",userId),  
new NameValuePair("password",password) } ; 
  
//第一种方式 httpclient保存于session,每次请求均为同一httpclient,httpclient维持cookies 
//HttpClient client =(HttpClient) request.getSession().getAttribute("HTTPCLIENT"); 

//第二种方式 每次请求带入之前请求获取的cookies。 
   HttpClient client=new HttpClient(); 
   client.getState().addCookies(cookies); 


  PostMethod post=new PostMethod(url); 
  client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8"); 
  client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY); 
  post.setRequestBody(param); 
  client.executeMethod(post); 
  Cookie[] cookies=client.getState().getCookies(); 
  post.releaseConnection(); 

 

http://leoyy.iteye.com/blog/1561927

分享到:
评论

相关推荐

    Java 使用HttpClient保持SESSION状态

    7. **执行其他需要保持SESSION状态的请求**:现在,当我们创建新的`HttpGet`或`HttpPost`请求时,HttpClient会自动处理Cookie,保持SESSION状态。 ```java HttpGet otherRequest = new HttpGet(...

    httpclient如何保持session会话模拟登录后的操作

    本文将详细讲解如何使用HTTPClient来保持session会话,从而实现模拟登录后的其他操作。 首先,理解session的概念至关重要。Session是服务器端用来跟踪用户状态的一种机制。在Web应用中,当用户登录后,服务器会为该...

    java后台请求http并保持Session

    在Java编程中,后台请求HTTP并保持Session是一个常见的任务,特别是在需要访问受保护的Web资源时,例如登录后的网页数据。下面将详细讲解这个过程,包括GET和POST方法的使用,以及Session管理。 首先,我们需要了解...

    Java 编写的使用HttpClient发送http请求工具类(解决了session无法保留问题)

    Java 编写的使用HttpClient发送http请求工具类(解决了session无法保留问题)

    php中http请求封装HttpClient精华中的经典代码

    上述代码展示了HttpClient的基本结构,包括构造函数、GET和POST方法,以及私有的发送请求方法。`buildUrl`函数用于构建带参数的URL,`sendRequest`则利用cURL库发送HTTP请求,并返回响应的HTTP状态码和响应体。 ...

    安卓使用httpClient实现网络请求并通过cookie维持对话

    HttpClient会自动管理这些Cookie,只要保持HttpClient实例不被销毁,就可以在后续请求中继续使用。 8. **注意点** - 尽管HttpClient在新版本的Android中被弃用,但仍然可以在旧版设备上使用。为了兼容性和性能考虑...

    httpUtil httpclient 登陆携带cookie访问下一个连接

    它可能会包含创建`HttpClient`、构建请求、解析响应等功能,简化了代码的复用和维护。 总之,`httpclient`库提供了一种高效且灵活的方式来模拟用户登录并携带cookie访问其他网页,这对于自动化测试、数据抓取或需要...

    HttpClient.zip_HTTP_c++ httpclass_c++ httpclient类_http client c+

    7. **异步处理**:为了支持非阻塞的网络I/O,HttpClient可能提供异步版本的请求方法,如`asyncGet()`和`asyncPost()`,这些方法通常会采用回调函数或future/promise的方式来处理结果。 在实际应用中,HttpClient...

    httpclient4.5工具包

    在Web应用中,Session是一种常见的用户跟踪机制,用于在多个HTTP请求之间保持状态。HttpClient 4.5支持自动维护Session,这意味着开发者无需手动管理Cookie或其他会话标识,库会自动处理这些细节。这简化了代码,...

    彻底解决android用HttpUrlConnection与web服务器之间session保持问题

    在Android开发中,当使用HttpURLConnection与Web服务器进行通信时,常常遇到的一个问题是无法正确保持session,导致每次请求都被服务器视为新的独立会话。这主要由于HTTP协议本身的无状态特性,以及Android客户端与...

    httpclient-4.5jar包

    HttpClient提供了许多高级特性,如Cookie管理、Redirect处理、重试策略、请求和响应拦截器等。开发者可以根据具体需求进行定制,以满足复杂的应用场景。 总之,HttpClient 4.5是一个功能强大且灵活的HTTP客户端库,...

    java httpclient 模拟登录

    在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...

    HttpClient登录

    注意,实际登录过程中,你可能需要处理更复杂的逻辑,比如验证码、登录状态保持(通过Cookie或Session)、重定向等。在网易相册的案例中,可能还需要分析登录页面的HTML来获取隐藏字段或者动态生成的令牌。此外,...

    httpclient模拟登录实例

    HttpClient提供了丰富的接口和策略类,使得这些操作变得相对简单。 通过阅读和理解HttpClient的源码,开发者可以更好地了解其内部机制,从而优化性能、处理异常、实现自定义功能。同时,HttpClient与其他工具如...

    Java使用HttpClient实现Post请求实例

    添加必要的请求头,例如`Content-type`定义数据类型为JSON,`Connection`设置关闭连接,以及自定义的`SessionId`和`appid`字段。 6. 构建消息实体: ```java StringEntity entity = new StringEntity(jsonObj....

    java实现多次HttpURLConnection共享session

    使用Apache HttpClient库可以更方便地处理session共享,因为它提供了更强大的功能和更好的API,但基本原理相同:保存和发送Cookie以保持会话状态。如果你的项目已经包含了HttpClient库,可以考虑使用它来替代...

    (最新)HttpClient4模拟登录腾讯微博

    在模拟登录过程中,通常需要设置POST请求,填充登录表单数据,如用户名、密码,并可能需要处理登录后的Session和Cookie来保持会话状态。 首先,我们需要引入HttpClient4的相关依赖到项目中。如果是Maven项目,可以...

    httpclient3 自动登陆淘宝, 开心网

    - **保存Session**:成功登录后,获取服务器返回的Session ID或其他认证信息,以便在后续请求中保持会话状态。 - **再次请求**:使用保存的Session信息构造新的请求,模拟已登录状态访问其他页面。 3. **淘宝和...

Global site tag (gtag.js) - Google Analytics