• httpclient个人理解


    httpclient:模拟浏览器发送请求,服务器会响应数据,用心区域网内 不同系统间的请求调用

    依赖  httpclient.jar和httpcore.jar需要同时纯在

    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
    </dependency>

    package com.taotao.httpclient;
    
    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.client.utils.URIBuilder;
    import org.apache.http.entity.StringEntity;
    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 HttpClientTest {
    
        @Test
        public void doGet() throws Exception {
            //创建一个httpclient对象
            CloseableHttpClient httpClient = HttpClients.createDefault();
            //创建一个GET对象
            HttpGet get = new HttpGet("http://www.sogou.com");
            //执行请求
            CloseableHttpResponse response = httpClient.execute(get);
            //取响应的结果
            int statusCode = response.getStatusLine().getStatusCode();
            System.out.println(statusCode);
            HttpEntity entity = response.getEntity();
            String string = EntityUtils.toString(entity, "utf-8");
            System.out.println(string);
            //关闭httpclient
            response.close();
            httpClient.close();
        }
        
        @Test
        public void doGetWithParam() throws Exception{
            //创建一个httpclient对象
            CloseableHttpClient httpClient = HttpClients.createDefault();
            //创建一个uri对象
            URIBuilder uriBuilder = new URIBuilder("http://www.sogou.com/web");
            uriBuilder.addParameter("query", "花千骨");
            HttpGet get = new HttpGet(uriBuilder.build());
            //执行请求
            CloseableHttpResponse response = httpClient.execute(get);
            //取响应的结果
            int statusCode = response.getStatusLine().getStatusCode();
            System.out.println(statusCode);
            HttpEntity entity = response.getEntity();
            String string = EntityUtils.toString(entity, "utf-8");
            System.out.println(string);
            //关闭httpclient
            response.close();
            httpClient.close();
        }
        
        @Test
        public void doPost() throws Exception {
            CloseableHttpClient httpClient = HttpClients.createDefault();
    
            //创建一个post对象
            HttpPost post = new HttpPost("http://localhost:8082/httpclient/post.action");
            //执行post请求
            CloseableHttpResponse response = httpClient.execute(post);
            String string = EntityUtils.toString(response.getEntity());
            System.out.println(string);
            response.close();
            httpClient.close();
            
        }
        
        @Test
        public void doPostWithParam() throws Exception{
            CloseableHttpClient httpClient = HttpClients.createDefault();
         
            //创建一个post对象  
            HttpPost post = new HttpPost("http://localhost:8082/httpclient/post.action");
            //创建一个Entity。模拟一个表单
            List<NameValuePair> kvList = new ArrayList<>();
            kvList.add(new BasicNameValuePair("username", "张三"));
            kvList.add(new BasicNameValuePair("password", "123"));
            
            //包装成一个Entity对象 
            StringEntity entity = new UrlEncodedFormEntity(kvList, "utf-8");
            //设置请求的内容 
            post.setEntity(entity);
            
            //执行post请求
            CloseableHttpResponse response = httpClient.execute(post);
            String string = EntityUtils.toString(response.getEntity());
            System.out.println(string);
            response.close();
            httpClient.close();
        }
    }
  • 相关阅读:
    演示Eclipse插件实现代码提示和补全
    重拾《 两周自制脚本语言 》- Eclipse插件实现语法高亮
    Kindle Windows版本 中文字体修改工具
    MD5加密算法原理及实现
    Spring boot 发送邮件示例
    ubuntu下svn的命令使用
    数据库的分区、分表、分库、分片的简介
    Vue 入门之目录结构介绍
    MQTT简单介绍与实现
    SVN使用规范
  • 原文地址:https://www.cnblogs.com/dianzan/p/11145188.html
走看看 - 开发者的网上家园