【转】HttpClient之 addHeader与setHeader

转载出处:http://huangqiqing123.iteye.com/blog/2054436

测试使用版本:httpclient-4.2.5

小结:

1、同名Header可以有多个 ,Header[] getHeaders(String name)。
2、运行时使用的是第一个, Header getFirstHeader(String name)。
3、addHeader,如果同名header已存在,则追加至原同名header后面。
4、setHeader,如果同名header已存在,则覆盖一个同名header。

测试程序:

public static void main(String[] args) {  

        HttpGet httpGet = new HttpGet("");  
        httpGet.addHeader("Cookie", "aa");  

        System.out.println("------------1---getFirstHeader----------");  

        Header header_first = httpGet.getFirstHeader("Cookie");  
        System.out.println(header_first.getName()+"  "+header_first.getValue());  

        System.out.println("-----------2---getAllHeaders-----------");  

        Header headers[] = httpGet.getAllHeaders();  
        for(Header header:headers){  
            System.out.println(header.getName()+"  "+header.getValue());  
        }  
        httpGet.addHeader("Cookie", "bb");  
        System.out.println("-----------3----getFirstHeader----------");  

        header_first = httpGet.getFirstHeader("Cookie");  
        System.out.println(header_first.getName()+"  "+header_first.getValue());  

        System.out.println("-----------4----getAllHeaders----------");  
        headers = httpGet.getAllHeaders();  
        for(Header header:headers){  
            System.out.println(header.getName()+"  "+header.getValue());  
        }  
        httpGet.setHeader("Cookie", "cc");  
        System.out.println("-----------3----getFirstHeader----------");  

        header_first = httpGet.getFirstHeader("Cookie");  
        System.out.println(header_first.getName()+"  "+header_first.getValue());  

        System.out.println("-----------4----getAllHeaders----------");  
        headers = httpGet.getAllHeaders();  
        for(Header header:headers){  
            System.out.println(header.getName()+"  "+header.getValue());  
        }  
        httpGet.setHeader("Cookie", "dd");  
        System.out.println("-----------3----getFirstHeader----------");  

        header_first = httpGet.getFirstHeader("Cookie");  
        System.out.println(header_first.getName()+"  "+header_first.getValue());  

        System.out.println("-----------4----getAllHeaders----------");  
        headers = httpGet.getAllHeaders();  
        for(Header header:headers){  
            System.out.println(header.getName()+"  "+header.getValue());  
        }  

    }  

测试结果

------------1---getFirstHeader----------  
Cookie  aa  
-----------2---getAllHeaders-----------  
Cookie  aa  
-----------3----getFirstHeader----------  
Cookie  aa  
-----------4----getAllHeaders----------  
Cookie  aa  
Cookie  bb  
-----------3----getFirstHeader----------  
Cookie  cc  
-----------4----getAllHeaders----------  
Cookie  cc  
Cookie  bb  
-----------3----getFirstHeader----------  
Cookie  dd  
-----------4----getAllHeaders----------  
Cookie  dd  
Cookie  bb  

你可能感兴趣的:(HttpClient学习)