zoukankan      html  css  js  c++  java
  • HttpClient发送Get和Post请求

    package JanGin.httpClient.demo;
     
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import java.util.ArrayList;
    import java.util.List;
     
    import org.apache.http.HttpEntity;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.util.EntityUtils;
    import org.junit.Test;
     
    public class FirstDemo {
     
        /**
         * 通过GET方式发起http请求
         */
        @Test
        public void requestByGetMethod(){
            //创建默认的httpClient实例
            CloseableHttpClient httpClient = getHttpClient();
            try {
                //用get方法发送http请求
                HttpGet get = new HttpGet("http://www.baidu.com");
                System.out.println("执行get请求:...."+get.getURI());
                CloseableHttpResponse httpResponse = null;
                //发送get请求
                httpResponse = httpClient.execute(get);
                try{
                    //response实体
                    HttpEntity entity = httpResponse.getEntity();
                    if (null != entity){
                        System.out.println("响应状态码:"+ httpResponse.getStatusLine());
                        System.out.println("-------------------------------------------------");
                        System.out.println("响应内容:" + EntityUtils.toString(entity));
                        System.out.println("-------------------------------------------------");                    
                    }
                }
                finally{
                    httpResponse.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            finally{
                try{
                    closeHttpClient(httpClient);
                } catch (IOException e){
                    e.printStackTrace();
                }
            }
     
        }
         
         
        /**
         * POST方式发起http请求
         */
        @Test
        public void requestByPostMethod(){
            CloseableHttpClient httpClient = getHttpClient();
            try {
                HttpPost post = new HttpPost("http://localhost/....");          //这里用上本机的某个工程做测试
                //创建参数列表
                List<NameValuePair> list = new ArrayList<NameValuePair>();
                list.add(new BasicNameValuePair("j_username", "admin"));
                list.add(new BasicNameValuePair("j_password", "admin"));
                //url格式编码
                UrlEncodedFormEntity uefEntity = new UrlEncodedFormEntity(list,"UTF-8");
                post.setEntity(uefEntity);
                System.out.println("POST 请求...." + post.getURI());
                //执行请求
                CloseableHttpResponse httpResponse = httpClient.execute(post);
                try{
                    HttpEntity entity = httpResponse.getEntity();
                    if (null != entity){
                        System.out.println("-------------------------------------------------------");
                        System.out.println(EntityUtils.toString(uefEntity));
                        System.out.println("-------------------------------------------------------");
                    }
                } finally{
                    httpResponse.close();
                }
                 
            } catch( UnsupportedEncodingException e){
                e.printStackTrace();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            finally{
                try{
                    closeHttpClient(httpClient);                
                } catch(Exception e){
                    e.printStackTrace();
                }
            }
             
        }
         
        private CloseableHttpClient getHttpClient(){
            return HttpClients.createDefault();
        }
         
        private void closeHttpClient(CloseableHttpClient client) throws IOException{
            if (client != null){
                client.close();
            }
        }
    }
  • 相关阅读:
    (三)mybatis 的使用(入门)
    (二)mybatis框架原理(图解)
    (一)使用 mybatis 的缘由
    (八)Spring 事务管理
    (七)Spring 配置 c3p0 连接池
    (六)Spring 中的 JdbcTemplate
    熔断监控集群(Turbine)
    熔断监控面板(Hystrix Dashboard)
    容错机制和熔断(Hystrix)
    服务消费和负载(Feign)
  • 原文地址:https://www.cnblogs.com/dtest/p/5282537.html
Copyright © 2011-2022 走看看