//authentcitaion CredentialsProvider provider; { String user = "alsjdfljksdflkjsdlkfj"; String pass = "sldfjlksdjflksjdfsdfs"; provider = new BasicCredentialsProvider(); UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(user, pass); provider.setCredentials(AuthScope.ANY, credentials); } //client CloseableHttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(provider).build(); //post (request) HttpPost httpPost = new HttpPost("http://foobar"); //request headers { httpPost.setHeader("Authorization", "Basic lsdkjflskdjflskjdflksdf"); } //request form { List params = new ArrayList<>(); params.add(new BasicNameValuePair("username", "sdfsdfsdf")); params.add(new BasicNameValuePair("password", "asdfsdfsdf")); params.add(new BasicNameValuePair("grant_type", "password")); httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8")); } //execute the request CloseableHttpResponse response = client.execute(httpPost); if (response.getStatusLine().getStatusCode() == 200) { InputStream is = response.getEntity().getContent(); String content = IOUtils.toString(is, "UTF-8"); System.out.println(content); } else { System.out.println(response.getStatusLine().getStatusCode()); } client.close();