关闭

HttpClient的简单使用

27人阅读 评论(0) 收藏 举报

当我们在做项目间的接口测试时,我们自然就联想到了http协议,java原生的URLconnection用起来也比较生硬繁琐,自然我们就想到了HttpClient

HttpClient下载地址:http://hc.apache.org/downloads.cgi,该测试用例基于HttpClient4.5.2版本。

做了一个小小的Demo,供大家参考。

//创建HttpClient工厂
		HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();  
	    //由HttpClient工厂产生HttpClient实例
	    CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
        // 创建get/post请求实例  
        HttpPost httpPost = new HttpPost("http://localhost:8080/demo/user");
        //google Gson
        Gson gson=new Gson(); 
        Map<String,String> map=new HashMap<String,String>();
        map.put("test", "TEST");
        String queryCase=gson.toJson(map);    
        StringEntity reqEntity = new StringEntity(queryCase);
        //接收方式,参考ajax ContentType
        reqEntity.setContentType("application/json");
        //绑定参数
        httpPost.setEntity(reqEntity);  
        
        System.out.println("executing request "+httpPost.getURI()); 
        try  
        {     
            // 客户端执行get/post请求 返回响应实体  
            HttpResponse response = closeableHttpClient.execute(httpPost);  
              
            // 服务器响应状态行  
            System.out.println(response.getStatusLine());
              
            Header[] heads = response.getAllHeaders();  
            // 打印所有响应头  
            for(Header h:heads){  
                System.out.println(h.getName()+":"+h.getValue());  
            }  
            
            // 获取响应消息实体  
            HttpEntity entity = response.getEntity();  
              
            System.out.println("------------------------------------");    
            if(entity != null){  
                                  
                //响应内容  
                System.out.println(EntityUtils.toString(entity));  
                  
                System.out.println("----------------------------------------");  
                // 响应内容长度  
                System.out.println("响应内容长度:"+entity.getContentLength());  
            }  
              
        } catch (ClientProtocolException e){  
            e.printStackTrace();  
        } catch (IOException e){  
            e.printStackTrace();  
        }finally{
        	try {
        		//使用完后务必关闭HttpClient
				closeableHttpClient.close();
			} catch (IOException e) {
				// TODO 自动生成的 catch 块
				e.printStackTrace();
			}
        }


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:51次
    • 积分:20
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档