Showing posts with label HttpURLConnection. Show all posts
Showing posts with label HttpURLConnection. Show all posts

Thursday, 12 October 2017

Basic authentication using HttpURLConnection

Below statements are used to perform basic authentication.

HttpURLConnection httpUrlConnection = getURLConnection(url);
Encoder encoder = Base64.getEncoder();
String encoded = encoder.encodeToString((userName + ":" + password).getBytes(StandardCharsets.UTF_8));
httpUrlConnection.setRequestProperty("Authorization", "Basic " + encoded);

Find the below working application.

Test.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.Base64.Encoder;

public class Test {

 private static HttpURLConnection getURLConnection(String urlToConnect) throws IOException {
  URL url = new URL(urlToConnect);
  HttpURLConnection httpUrlConnection = (HttpURLConnection) url.openConnection();
  return httpUrlConnection;
 }

 private static InputStream getContent(HttpURLConnection httpUrlConnection) throws IOException {
  int responseCode = httpUrlConnection.getResponseCode();
  InputStream inputStream = null;

  if (responseCode >= 200 && responseCode < 400) {
   inputStream = httpUrlConnection.getInputStream();
  } else {
   inputStream = httpUrlConnection.getErrorStream();
  }

  return inputStream;
 }

 private static void printInputStream(InputStream inputStream) throws IOException {
  BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));

  String line = null;

  while ((line = br.readLine()) != null) {
   System.out.println(line);
  }
 }

 public static void main(String[] args) throws IOException {
  String userName = "";
  String password = "";

  String url = "";

  HttpURLConnection httpUrlConnection = getURLConnection(url);
  Encoder encoder = Base64.getEncoder();
  String encoded = encoder.encodeToString((userName + ":" + password).getBytes(StandardCharsets.UTF_8));
  httpUrlConnection.setRequestProperty("Authorization", "Basic " + encoded);

  InputStream inputStream = getContent(httpUrlConnection);
  printInputStream(inputStream);

 }

}


Previous                                                 Next                                                 Home