您的位置:首页 > 理论基础 > 计算机网络

HTTPClient调用https请求,通过基本认证用户名密码(Basic Auth)

2018-01-22 18:42 627 查看
本文来源是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"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: