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

版权声明:本文为博主原创文章,未经博主允许不得转载。 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"));



猜你喜欢

转载自blog.csdn.net/qq_27605885/article/details/79131483
今日推荐