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();
            }
        }
    
    
  • 相关阅读:
    html5数字和颜色输入框
    WinForm设置右键菜单
    设置窗体透明C#代码
    C#调用windows api示例
    使用VS GDB扩充套件在VS上远端侦错Linux上的C/C++程序
    javascript系统时间测试题
    博客园学习的好地方
    基于jQuery的自适应图片左右切换
    HTML+CSS代码橙色导航菜单
    ASP.NET使用UpdatePanel实现AJAX
  • 原文地址:https://www.cnblogs.com/hailongchen/p/7872491.html
Copyright © 2011-2022 走看看