Bonjour à tous,

Je suis en train d'effectuer un test de téléchargement d'un fichier via le protocole HTTP grâce au code java.

Seulement voilà, le site contenant le fichier exige un nom d'utilisateur et un mot de passe .

Voici le code que j'utilise pour télécharger le fichier

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
public static void main(String[] args) {
		try{
		URL MonUrl = new URL("http://utilisateur:mypassword@donnees.domaine.com/repertoires/fichier.xml");
		HttpURLConnection Cnx = (HttpURLConnection)MonUrl.openConnection();
		BufferedReader  in = new BufferedReader(new InputStreamReader(Cnx.getInputStream()));
		BufferedWriter wBuffer = new BufferedWriter(new FileWriter("e:/dossier/fichier.xml"));
		char []  tChar = new char [512];
		int  iLength = -1;
		while (true)
		{
		    iLength = in.read(tChar, 0, 512);
		    if (iLength < 0)
			 break;	
			 wBuffer.write(tChar);
		    }
 
		    in.close ();
		    wBuffer.close();
		}catch(Exception e){
			e.printStackTrace();
		}
	}
Au résultat de l'exécution, j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Server returned HTTP response code: 401 for URL: http://utilisateur:mypassword@donnees.domaine.com/repertoires/fichier.xml
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
Je souhaite savoir est ce qu'il y aurai une autre manière de passer le mot et le nom d'utilisateur si on souhaite télécharger le fichier par le protocole HTTP .

Une autre précision, le nom d'utilisateur et le mot de passe contiennent des caractères spéciaux, est ce que cela peut occasionner des erreurs au moment de la connexion via l'application java ?

Cordialement.