`

HttpClient Tutorial (第一章 HttpClient应用领域 1.1.3)

    博客分类:
  • Java
阅读更多
1.1.3 与消息头一起工作
HTTP消息能包含大量头,它们描述了消息的属性。例如内容长度,内容类型等等。HttpClient提供了获取,增加,去除和枚举头。
HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1, HttpStatus.SC_OK, "OK");
response.addHeader("Set-Cookie", "c1=a; path=/; domain=localhost");
response.addHeader("Set-Cookie", "c2=b; path=\"/\", c3=c; domain=\"localhost\"");
		
Header h1 = response.getFirstHeader("Set-Cookie");
System.out.println(h1);
		
Header h2 = response.getLastHeader("Set-Cookie");
System.out.println(h2);
		
Header[] hs = response.getHeaders("Set-Cookie");
System.out.println(hs.length);


输出〉
Set-Cookie: c1=a; path=/; domain=localhost
Set-Cookie: c2=b; path="/", c3=c; domain="localhost"
2


取得所有给定类型的头最有效的方法是使用HeaderIterator接口。
HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1, HttpStatus.SC_OK, "OK");
		response.addHeader("Set-Cookie", "c1=a; path=/; domain=localhost");
		response.addHeader("Set-Cookie", "c2=b; path=\"/\", c3=c; domain=\"localhost\"");
		
		HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator("Set-Cookie"));
		
		while(it.hasNext()){
			System.out.println(it.next());
		}


它也提供了解析HTTP消息的便利方法,可以将消息解析为不同的头元素。
HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1, HttpStatus.SC_OK, "OK");
		response.addHeader("Set-Cookie", "c1=a; path=/; domain=localhost");
		response.addHeader("Set-Cookie", "c2=b; path=\"/\", c3=c; domain=\"localhost\"");
		
		HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator("Set-Cookie"));
		
		while(it.hasNext()){
			HeaderElement elem = it.nextElement();
			System.out.println(elem.getName() + " = " + elem.getValue());
			NameValuePair[] params = elem.getParameters();
			for (int i = 0; i < params.length; i++) {
				System.out.println(" " + params[i]);
			}
		}


输出>
c1 = a
 path=/
 domain=localhost
c2 = b
 path=/
c3 = c
 domain=localhost
分享到:
评论

相关推荐

    httpclient tutorial httpclient 指南

    httpclient 指南 包括了详细的调用和常用代码 The Hyper-Text Transfer Protocol (HTTP) is perhaps the most significant protocol used on the Internet today. Web services, network-enabled appliances and the...

    httpclient-tutorial开发指导文档.pdf

    此外,文档还讲解了HttpClient的代理配置(Proxy Configuration),这是一个常用功能,特别是当需要通过代理服务器来访问外部网络资源时。 HTTP状态管理(HTTP State Management)部分讨论了HTTP Cookie的处理,...

    httpclient tutorial

    本文档是一个全面的HttpClient教程,涉及HttpClient的基本使用、接口、异常处理、连接管理、HTTP状态管理和认证机制等多个方面。 1. HttpClient基础 1.1 请求执行 1.1.1 HTTP请求:HttpClient支持创建和配置HTTP...

    HttpClient的3个jar包httpclient.jar、logging-1.1.3.jar和codec-1.6.jar

    2. `commons-logging-1.1.3.jar`:这是一个日志抽象层,允许HttpClient使用多种日志实现(如log4j、java.util.logging等)。通过这个库,HttpClient可以透明地记录其内部操作,帮助开发者调试和分析程序运行状态。 ...

    C#HTTPclient 实例应用

    在C#编程中,`HttpClient`是一个非常重要的类,它被广泛用于发送HTTP请求和接收HTTP响应。这个类是.NET Framework 4.5引入的,随后也在.NET Core中得到支持,成为了处理网络通信的标准方式。在本文中,我们将深入...

    HTTPClient 的一个封装

    在IT行业中,网络通信是应用程序之间交互的重要方式,而HTTPClient是Java开发中常用的一款库,用于执行HTTP请求。这个“HTTPClient的一个封装”显然指的是对Apache HttpClient库进行了定制化处理,以适应特定项目...

    apache-httpclient应用所有jar

    1. **创建HttpClient实例**: 创建HttpClient对象是使用HttpClient的第一步。例如,可以使用`HttpClientBuilder`构建一个默认配置的客户端。 2. **设置请求参数**: 创建`HttpGet`或`HttpPost`对象,设置URL、请求...

    HttpClientHelper 工具类

    这样确保了在整个应用程序生命周期中,HttpClientHelper只有一个实例被创建和使用。 5. **异常处理**:HttpClientHelper 应该包含了适当的错误处理机制,如捕获网络异常、解析异常等,以确保在出现问题时能够给出...

    如何在WPF应用程序中通过HttpClient调用Web API

    本教程将深入探讨如何利用HttpClient类在WPF应用中异步调用Web API,确保不阻塞主线程,提供流畅的用户体验。 HttpClient是一个强大的工具,用于发送HTTP请求并接收响应。在WPF应用中,我们可以使用异步编程技术,...

    httpclient4.2.1.zip

    在Java开发领域,HttpClient是一个广泛使用的库,尤其在处理HTTP请求与响应时。HttpClient 4.2.1是这个库的一个稳定版本,提供了丰富的功能和优化,使得开发者能够高效、可靠地执行HTTP操作。本文将深入探讨...

    HttpClient调用第三方接口

    使用httpclient调用公安部接口 并接受返回的字符串转换为图片

    httpclient.jar包下载

    在Java开发中,HTTP通信是不可或缺的一部分,而Apache HttpClient库正是Java实现HTTP客户端操作的重要工具。本文将深入探讨httpclient.jar包,以及它与code.jar包的关系,帮助开发者更好地理解和使用这两个组件。 ...

    httpclient-4.5.3官方API中文文档_最新译版_2886K

    HttpClient广泛应用于Web服务调用、爬虫程序、数据同步、自动化测试等领域。例如,在Web服务API调用中,HttpClient可以方便地构造和发送GET、POST请求,获取并解析响应内容;在爬虫程序中,HttpClient可以处理登录、...

Global site tag (gtag.js) - Google Analytics