zoukankan      html  css  js  c++  java
  • Apache HttpClient之fluent API的使用

    该方法为Apache HttpClient 4.5以上的版本支持,在官网有明确的说明。
    对比以前的方式,其优点是代码更简洁,同时为线程安全的。仅举一个最简单的post栗子

    JAR包信息:

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.1</version>
            </dependency>
    
    
    
    package utils;
    
    import com.alibaba.fastjson.JSONObject;
    import org.apache.http.client.fluent.Request;
    import org.apache.http.entity.ContentType;
    
    import java.io.IOException;
    
    /**
     * Created with IntelliJ IDEA.
     * Description:
     *         Http请求工具类
     *
     * @author
     *         Date: 2017-11-01
     *         Time: 10:24
     */
    public class HttpClientUtil {
    
        /**
         * @return String
         * 响应体
         */
        public String jsonPostHttp(JSONObject jsonObject, String url) throws IOException {
    
            String response = Request.Post(url).bodyString(jsonObject.toString(), ContentType.APPLICATION_JSON).execute().returnContent().asString();
    
            System.out.println(response);   // 将返回的内容打印出来便于调试
            return response;
        }
        
    }
    
    

    测试代码:

    package utilsTest;
    
    import com.alibaba.fastjson.JSONObject;
    import org.junit.Test;
    import utils.HttpClientUtil;
    
    import java.io.File;
    import java.io.IOException;
    
    public class HttpClientUtilTest {
    
        @Test
        public void httpClientUtilTest(){
    
            JSONObject jsonObject = new JSONObject();
            // 根据业务需要,定义JSONObject所需的参数
            jsonObject.put("appId", "1");
            jsonObject.put("userName", "admin");
            jsonObject.put("password", "111111");
            
            HttpClientUtil httpClientUtil = new HttpClientUtil();
    
            try {
                httpClientUtil.jsonPostHttp(jsonObject,"http://localhost/manage/auth/login.do");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    
  • 相关阅读:
    Ubuntu vim java 自动补全javacomeplete2
    vim多行注释和取消注释 Ubuntu
    vim tab设置为4个空格
    liunx 命令行快捷键 常用命令
    win7 +v Ubuntu 16.04 grub rescue 模式下修复 grub
    Ubuntu16.04安装WPS
    liunx ubuntu java 环境的配置
    Vim简明教程【CoolShell】(转)
    ubuntu16.04安装chrome
    android全屏下的输入框未跟随软键盘弹起问题
  • 原文地址:https://www.cnblogs.com/hailongchen/p/7872491.html
Copyright © 2011-2022 走看看