ce programme est un exemple de connexion aux serveurs HTTP sécurisés(HTTPS). Il applique aussi le système d’identification avec le nom d’utilisateur et le mot de passe.
public class Test
{
/****
@auteur sako Adams(contact.sakoba@gmail.com)
Ce Programme se connecte à un Serveur HTTPS,
S'identifie s'il le faut et affiche le contenu de la page
**/
public static void main(String arg[])
{
URL url = new URL("https://www.test.gov.us/index.php5?page=entreprise.xxxxxxxxxxx");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
String username=""; // Nom d'utilisateur si nécessaire
String password=""; // Mot de passe si nécessaire
String up=username+":"+password;
String encoding=null;
try {
// Encoder les paramètres de connexions
sun.misc.BASE64Encoder encoder =(sun.misc.BASE64Encoder)
Class.forName("sun.misc.BASE64Encoder").newInstance();
encoding = encoder.encode(up.getBytes());
} catch (Exception ex) {
JOptionPane.showMessageDialog(null,ex);
throw new TomcatManagerException("Erreur sun.misc.BASE64Encoder!");
}
connection.setRequestProperty("Authorization", "Basic " + encoding);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.connect();
if (connection instanceof HttpURLConnection) {
HttpURLConnection httpConnection = (HttpURLConnection) connection;
System.err.print(httpConnection.getResponseCode());
// Afficher les information de l'entête
for (Map.Entry> header : httpConnection.getHeaderFields().entrySet()) {
System.out.println(header.getKey() + "=" + header.getValue());
}
Scanner in = new Scanner(httpConnection.getInputStream(),"utf-8");
System.out.println(in.hasNext());
// Afficher le contenu de la page web
for (int n = 1; in.hasNextLine() && n <= 1000; n++)
{
System.out.println(in.nextLine());
}
// Vérifier si la requête HTTP retourné le résultat 401
if (httpConnection.getResponseCode() == HttpURLConnection.HTTP_UNAUTHORIZED)
{
JOptionPane.showMessageDialog(null,"Erreur 401");
txtAnnonce.setText("");
}
}
}catch(Exception err)
{
JOptionPane.showMessageDialog(null, err);
}
}
}