转自: https://blog.csdn.net/qq_27605885/article/details/79131483
本文来源是Apache官网例子:http://hc.apache.org/httpcomponents-client-4.5.x/httpclient/examples/org/apache/http/examples/client/ClientAuthentication.java
之前找过很多博客上的例子发现都不对,后来还是去官网找。事实证明官网绝对比博客k
public static void http() throws Exception {JSONObject obj = new JSONObject();obj.put("param", "paramValue");CredentialsProvider credsProvider = new BasicCredentialsProvider();credsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(userName, password));CloseableHttpClient createDefault = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();HttpPost post = new HttpPost(url);StringEntity entity = new StringEntity(obj.toString(),"utf-8");entity.setContentEncoding("UTF-8"); entity.setContentType("application/json"); post.setEntity(entity);CloseableHttpResponse result = createDefault.execute(post);int statusCode = result.getStatusLine().getStatusCode();System.out.println(statusCode);System.out.println("result:" + EntityUtils.toString(result.getEntity()));}
//下面是正常http请求,直接发送json格式的作为参数传到服务器
HttpPost post = new HttpPost(url);
//post.setHeader("Content-Type","application/json;charset=utf-8");
StringEntity entity = new StringEntity(obj.toString(),"utf-8");
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
post.setEntity(entity);
CloseableHttpClient createDefault = HttpClients.createDefault();
CloseableHttpResponse result = createDefault.execute(post);
String responseMsg = EntityUtils.toString(result.getEntity(),"UTF-8"));