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); } }
No comments:
Post a Comment