Telechargement fichier depuis url en https
Résolu
Bonjour,
J'essaye de télécharger un fichier depuis une url en https
https://machintruc.fr/bidule/monfichier.xls
NB: L'url a été modifiée depuis peu (n'était pas en https mais http tout court ) et le script fonctionnait parfaitement avant ce changement
Voici le code utilisé
J'avais un Message d'erreur :
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
J'ai donc suivi quelques docs sur le net indiquant qu'il suffisait d'installer le certificat du site dans le jdk/jre .... chose faite.
Mais maintenant... j'obtiens l'erreur : Server redirected too many times (20)
Auriez-vous, oh grands manitous du java..., une idée sur les causes du problème et un moyen d'y remédier ?
--
Cordialement,
Jordane
J'essaye de télécharger un fichier depuis une url en https
https://machintruc.fr/bidule/monfichier.xls
NB: L'url a été modifiée depuis peu (n'était pas en https mais http tout court ) et le script fonctionnait parfaitement avant ce changement
Voici le code utilisé
private void getA()
throws Exception
{
Utilitaire.afficherCommentaire("Recuperation de " + this.filenameA);
System.setProperty("http.auth.ntlm.domain", domaine);
System.out.println("URL=" + adresseA);
URL url = new URL(adresseA);
URLConnection uc = url.openConnection();
int contentLength = uc.getContentLength();
InputStream raw = uc.getInputStream();
InputStream in = new BufferedInputStream(raw);
byte[] data = new byte[contentLength];
int bytesRead = 0;
int offset = 0;
while (offset < contentLength)
{
bytesRead = in.read(data, offset, data.length - offset);
if (bytesRead == -1) {
break;
}
offset += bytesRead;
}
in.close();
if (offset != contentLength) {
throw new IOException("Only read " + offset + " bytes; Expected " + contentLength + " bytes");
}
FileOutputStream out = new FileOutputStream(this.filenameA);
out.write(data);
out.flush();
out.close();
}
J'avais un Message d'erreur :
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
J'ai donc suivi quelques docs sur le net indiquant qu'il suffisait d'installer le certificat du site dans le jdk/jre .... chose faite.
keytool -keystore cacerts -importcert -alias moncert -file d:\temp\moncert.cer
Mais maintenant... j'obtiens l'erreur : Server redirected too many times (20)
Auriez-vous, oh grands manitous du java..., une idée sur les causes du problème et un moyen d'y remédier ?
--
Cordialement,
Jordane