An HTTP message can contain a number of headers describing properties of the message such as the content length, content type and so on. HttpClient provides methods to retrieve, add, remove and enumerate headers.

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

stdout >

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

The most efficient way to obtain all headers of a given type is by using the HeaderIterator interface.

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\""); HeaderIterator it = response.headerIterator("Set-Cookie");
while (it.hasNext()) {
System.out.println(it.next());
}

stdout >

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

It also provides convenience methods to parse HTTP messages into individual header elements.

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]);
}
}

stdout >

c1 = a
path=/
domain=localhost
c2 = b
path=/
c3 = c
domain=localhost

最新文章

  1. 拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布
  2. php $CI =&amp; get_instance();
  3. ---iproute2 策略路由
  4. zoj 3742 Delivery 好题
  5. display:block; 块级元素。&lt;a&gt;,&lt;span&gt;标签设置宽度和高度
  6. JFrome 登陆/注册/回显/输出流小程序之二
  7. xml中不能直接添加ViewGroup
  8. SQL Server 2008 查询所有用户表
  9. 【javascript】浅谈javaScript的深拷贝
  10. redux简明学习
  11. SIFT解析(二)特征点位置确定
  12. FusionCharts多数据验证饼图label是否重叠
  13. Python练手例子(12)
  14. vscode设置
  15. nodejs模块循环引用讲解
  16. 2018-2019-2 网络对抗技术 20165230 Exp5 MSF基础应用
  17. select标签(下拉菜单和列表)
  18. Python小白学习之路(二十五)—【装饰器的应用】
  19. 兵器簿之github的配置和使用
  20. php CI 实战教程第一季百度经验杂志

热门文章

  1. Contest 7.23(不知道算什么)
  2. Spring Data JPA 教程(翻译)
  3. ALV的报表对用户定义格式的控制(ALV I_SAVE)
  4. ssl配置
  5. skyline TerraBuilder 制作MPT方法与技巧(2)
  6. java foreach编辑讲解
  7. node搜索codeforces 3A - Shortest path of the king
  8. C++ Brush
  9. OpenStack Magnum 项目简单介绍
  10. Java基础:Collection—List&amp;Set