HttpClient中addHeader与setHeader的区别

总结:

addHeader:添加一个新的请求头字段。(一个请求头中允许有重名字段。)

setHeader:设置一个请求头字段,有则覆盖,无则添加。

 

代码:

    @Test
    public void test16(){
        HttpGet httpGet =  new HttpGet();
        httpGet.addHeader("a","A1");
        httpGet.addHeader("a","A2");
        httpGet.addHeader("b","B1");
        httpGet.setHeader("b","B2");
        httpGet.setHeader("c","C1");
        Header[] allHeaders = httpGet.getAllHeaders();
        for (Header allHeader : allHeaders) {
            System.out.println(allHeader.getName()+" : "+allHeader.getValue());
        }
        System.out.println("---");
        Header[] as = httpGet.getHeaders("a");
        for (Header a : as) {
            System.out.println(a.getName()+" : " +a.getValue());
        }
        System.out.println("---");
        Header[] bs = httpGet.getHeaders("b");
        for (Header a : bs) {
            System.out.println(a.getName()+" : " +a.getValue());
        }
        System.out.println("---");
        Header a = httpGet.getFirstHeader("a");
        System.out.println(a.getName()+" : " + a.getValue());
        System.out.println("---");
        Header a2 = httpGet.getLastHeader("a");
        System.out.println(a2.getName()+" : " + a2.getValue());
    }

运行结果:

a : A1
a : A2
b : B2
c : C1
---
a : A1
a : A2
---
b : B2
---
a : A1
---
a : A2

 

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HttpClient提供了多种方法来设置header。可以使用HttpResponse的addHeader()方法来添加单个header,示例如下: 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,可以使用getFirstHeader()方法,示例如下: Header h1 = response.getFirstHeader("Set-Cookie"); 如果想获取最后一个header,可以使用getLastHeader()方法,示例如下: Header h2 = response.getLastHeader("Set-Cookie"); 如果想获取所有的header,可以使用getHeaders()方法,示例如下: Header[] hs = response.getHeaders("Set-Cookie"); 另外,还可以使用HeaderIterator接口来获得给定类型的所有头部信息,示例如下: HeaderIterator it = response.headerIterator("Set-Cookie"); while (it.hasNext()) { System.out.println(it.next()); }<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [HttpClient 教程 (一)](https://blog.csdn.net/weixin_34250709/article/details/86378417)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值