美文网首页
spring-boot httpClient

spring-boot httpClient

作者: liangxifeng833 | 来源:发表于2018-01-22 20:23 被阅读3638次

    配置依赖 pom.xml

            <!--集成httpClient-->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.3.1</version>
            </dependency>
    

    Get请求测试(post/put/delete同理)

    package com.lxf;
    
    import org.apache.http.HttpEntity;
    import org.apache.http.ParseException;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    
    import java.io.IOException;
    
    public class TestHttpClient {
        /**
         * 发送 get请求
         */
        public void get() {
            CloseableHttpClient httpclient = HttpClients.createDefault();
            try {
                // 创建httpget.
                HttpGet httpget = new HttpGet("http://localhost:8099/hello");
                System.out.println("executing request " + httpget.getURI());
                // 执行get请求.
                CloseableHttpResponse response = httpclient.execute(httpget);
                //System.out.println("============="+response.toString());
                try {
                    // 获取响应实体
                    HttpEntity entity = response.getEntity();
                    System.out.println("--------------------------------------");
                    // 打印响应状态
                    System.out.println(response.getStatusLine());
                    if (entity != null) {
                        // 打印响应内容长度
                        //System.out.println("Response content length: " + entity.getContentLength());
                        // 打印响应内容
                        System.out.println("Response content: " + EntityUtils.toString(entity));
                    }
                    System.out.println("------------------------------------");
                } finally {
                    response.close();
                }
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (ParseException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                // 关闭连接,释放资源
                try {
                    httpclient.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        public static void main(String[] args)
        {
            TestHttpClient client = new TestHttpClient();
            Long start = System.currentTimeMillis();
            int max=10000;
            for(int i=1; i<=max; i++)
            {
                client.get();
            }
            Long end = System.currentTimeMillis();
            Long elapse = end - start;
    
            int perform = Double.valueOf(max / (elapse / 1000d)).intValue();
    
            System.out.print("Rest " + max + " 次http调用,耗时:" + elapse + "毫秒,平均" + perform + "次/秒");
    
        }
    }
    

    相关文章

      网友评论

          本文标题:spring-boot httpClient

          本文链接:https://www.haomeiwen.com/subject/bdfwixtx.html