该要领为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(); } }