转自: 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"));