0 0

httpClient与服务器建立连接时cookie传递问题5

httpClient与服务器建立连接时cookie传递问题,使用httpGet或httpPost方式怎么传cookie给服务器?
2012年11月26日 16:17

1个答案 按时间排序 按投票排序

0 0

采纳的答案

送你个demo

package http.demo; 
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.cookie.*;
import org.apache.commons.httpclient.methods.*;
/** 
* 用来演示登录表单的示例 
* @author Liudong 
*/
public class FormLoginDemo {
   static final String LOGON_SITE = "localhost" ;
   static final int     LOGON_PORT = 8080;
   public static void main(String[] args) throws Exception{
      HttpClient client = new HttpClient();
      client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT);
      // 模拟登录页面 login.jsp->main.jsp
      PostMethod post = new PostMethod( "/main.jsp" );
      NameValuePair name = new NameValuePair( "name" , "ld" );
      NameValuePair pass = new NameValuePair( "password" , "ld" );
      post.setRequestBody( new NameValuePair[]{name,pass});
      int status = client.executeMethod(post);
      System.out.println(post.getResponseBodyAsString());
      post.releaseConnection();
      // 查看 cookie 信息
      CookieSpec cookiespec = CookiePolicy.getDefaultSpec();
      Cookie[] cookies = cookiespec.match(LOGON_SITE, LOGON_PORT, "/" , false , client.getState().getCookies());
      if (cookies.length == 0) {
         System.out.println( "None" );
      } else {
         for ( int i = 0; i < cookies.length; i++) {
            System.out.println(cookies[i].toString());
         }
      }
      // 访问所需的页面 main2.jsp 
      GetMethodget=newGetMethod("/main2.jsp");
      client.executeMethod(get);
      System.out.println(get.getResponseBodyAsString());
      get.releaseConnection();
   }
}

2012年11月26日 16:27

相关推荐

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

    `HttpClient`会自动将cookie添加到请求头中,这样服务器就能识别出已登录的用户。 7. **处理结果**:执行`HttpGet`请求后,再次获取`HttpResponse`,处理返回的数据。你可以读取响应体,进行HTML解析或者其他业务...

    HttpClient 4.0中文教程

    - **确保低级别资源释放**: 在使用HttpClient时,开发者需要注意释放资源,避免内存泄漏等问题。例如,关闭HttpResponse对象是非常重要的。 - **消耗实体内容**: 当收到响应时,必须显式地消耗实体内容,否则可能...

    HttpClient

    连接池允许复用已建立的TCP连接,减少了每次请求时的连接创建时间,提高了整体性能。HttpClient提供了`PoolingHttpClientConnectionManager`类来管理这些连接,可以设置最大连接数、每个路由的最大连接数以及连接...

    HttpClient4.5.1手册

    **2.1 连接持久性:** 在HTTP/1.1中,客户端与服务器之间建立的连接默认是持久的,这意味着在一个连接上可以发送多个请求而无需频繁地建立和关闭连接。 **2.2 HTTP连接路由** - **路由计算:** 根据请求的目标地址...

    httpclient 4.2.2

    4. **Cookie 管理**:HttpClient 内置了 Cookie 管理器,可以自动处理服务器返回的 Cookie,并在后续请求中发送。 5. **自定义编码解码**:HttpClient 允许用户自定义请求和响应的编码解码过程,以适应不同的数据...

    httpClient使用指南最新版

    - **2.7.2 与连接管理器集成**: 通过设置工厂,可以确保所有的连接都是安全的。 - **2.7.3 SSL/TLS定制**: 可以配置SSL/TLS协议的各种参数。 - **2.7.4 主机名验证**: 验证服务器证书中的主机名是否匹配实际请求的...

    HttpClient用到的jar包

    4. **Cookie管理**:如果需要处理服务器返回的Cookie,HttpClient提供了`CookieStore`接口和相关类来管理Cookie。 5. **HTTP连接管理**:通过`HttpConnectionParams`和`HttpConnectionManager`,可以控制连接的超时...

    httpClient4.1入门教程.

    它不仅能够处理基本的 GET 和 POST 请求,还支持各种高级特性,如重试策略、连接管理、多线程、Cookie 处理、URL 重定向等。 HttpClient 基本功能的使用 1. 环境准备:要使用 HttpClient,首先需要在项目中引入...

    android cookie获取和设置,webView的cookie的同步

    特别是在使用 HttpClient 发起网络请求时,保持客户端与服务器端 Session 的一致性是非常重要的。此外,在 WebView 中进行 Cookie 的同步也是实现持久化登录等场景的关键技术之一。 #### 一、HttpClient 请求中的 ...

    java httpclient 模拟登录

    登录成功后,服务器通常会返回一个Set-Cookie响应头,其中包含了session ID。我们需要保存这个session ID,因为它是后续访问登录后页面的关键。可以这样获取: ```java Header[] cookies = response.getHeaders(...

    httpclient 4.5 api文档

    - **定义**:用于在客户端和服务器之间传递状态信息的小型文本文件。 - **作用**:实现会话跟踪等功能。 ##### 3.2 Cookie规范 - **定义**:定义了Cookie的工作原理和规则。 - **示例**:RFC 6265标准。 ##### 3.3...

    封装了WinInet的HttpClient库

    4. **错误处理与异常**:HttpClient库需要提供良好的错误处理机制,当WinInet API调用失败时,能够返回适当的错误代码或抛出异常,以便开发者能捕获并处理问题。 5. **会话管理**:为了提高性能和安全性,...

    HTTPClient工具类及架包

    10. **异常处理**:在进行网络操作时,可能会遇到各种异常,如网络连接问题、超时等。需要适当地捕获和处理这些异常,如`IOException`、`HttpException`等。 通过以上步骤,开发者可以使用HTTPClient工具类高效地...

    jsoup+httpclient+jar包

    - **连接池管理**:合理使用HttpClient的连接池,避免过多的并发请求导致IP被封禁。 - **编码问题**:处理好字符编码,确保数据正确解析和显示。 - **同步与异步**:根据需求选择同步或异步请求,提高爬虫效率。 ...

    HttpClient网页抓取工具包整合

    - HttpClient通过`HttpConnectionManager`接口来管理HTTP连接,常见的实现如`PoolingHttpClientConnectionManager`,它支持连接池,可以复用已建立的连接,提高性能。 - `CloseableHttpClient`是HttpClient的主要...

    httpclient用到的jar文件,例子

    **SSL/TLS支持**:对于HTTPS通信,HTTPClient可以配置`SSLContext`和`X509TrustManager`来处理证书和信任问题,以便安全地与HTTPS服务器通信。 总的来说,HTTPClient库是Java开发者进行HTTP通信的强大工具,它提供...

    httpclient4中文文档

    - Cookie如何在客户端和服务器之间传递。 **3.8 HTTP状态管理和执行上下文** - HTTP状态管理与请求执行上下文之间的关系。 **3.9 每个用户/线程的状态管理** - 如何针对不同的用户或线程独立地管理HTTP状态。 #...

Global site tag (gtag.js) - Google Analytics