SpringBoot使用HttpClient远程调用

一.  Get请求

try {
            //拼接url
            url = url+"access_token="+token+"&department_id=1&fetch_child=1";
            //解决证书明匹配问题
            SSLSocketFactory.getSocketFactory().setHostnameVerifier(new     
                    AllowAllHostnameVerifier());
            //根据地址获取请求
            HttpGet request = new HttpGet(url);
            //获取当前客户端对象
            HttpClient httpClient = new DefaultHttpClient();
            //通过请求获取相应对象
            HttpResponse response = httpClient.execute(request);
            // 判断网络连接状态码是否正常(0--200都数正常)
            String result=null;
            if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                result= EntityUtils.toString(response.getEntity(),"utf-8");
            }    

} catch (Exception e) {
       e.printStackTrace();
 }                           

 

二.  Post请求

 try{
        String url = userMapper.getValue(urlId);
        url = url + "access_token=" + token;
        //主机证书明不匹配问题
        SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVerifier());

     //获取请求地址 HttpPost post
= new HttpPost(url);
     //获取当前客户端对象 HttpClient httpClient
= new DefaultHttpClient(); // 设置超时时间 httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 2000); httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 2000);      //设置参数 StringEntity s = new StringEntity(jsonObject.toString()); s.setContentEncoding("UTF-8"); s.setContentType("application/json"); post.setEntity(s);      //通过请求获得相应的对象    HttpResponse res = client.execute(post);
     //判断是否成功
     if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
    HttpEntity entity = res.getEntity();
    String result = EntityUtils.toString(res.getEntity());// 返回json格式:
    }
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

 

posted @ 2019-01-29 18:26  我爱si搬砖  阅读(10231)  评论(0编辑  收藏  举报