http basic authentication in java
sometimes it’s necessary to access webservices or websites out of a java programm. if the server uses basic authentication you need to provide the username and password to the connection. because URLConnection doesn’t provide a simple method to set these you have to do it manually. http uses the Authentication header to transmit authentication informations. for basic authentication this header looks like:
Authorization: Basic dXNlcjpwYXNzd29yZA==
the string dXNlcjpwYXNzd29yZA== is the username and password, encoded as base 64. the unencoded string is user:login
with java you can use the setRequestProperty method of a URLConnection to add the header:
URLConnection uc = new URL("http://test.url").openConnection();
uc.setRequestProperty("Authorization", "Basic dXNlcjpwYXNzd29yZA==");
uc.connect();
instead of the dXNlcjpwYXNzd29yZA== string you need your own base64 encoded login and password. if it doesn’t change during runtime it’s best to preencode it and store it in a configfile. you can use an online base64 encoder to encode it.