Bonjour (et bonne année !),

J'ai un souci lors de la récupération d'un fichier via HttpURLConnection. Je sais que l'erreur provient d'espaces dans le nom de fichier mais ne trouve pas de solution pour contourner le problème.

J'utilise la classe URL pour la requete initiale (le serveur utilise les friendly's url)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
URL url = new URL("http://distant/mon-fichier");
le serveur distant redirige la requete vers le fichier à distribuer, cela fonctionne trés bien sur un fichier dont le nom ne contient pas d'espace.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
HttpURLConnection cnx= (HttpURLConnection) url.openConnection();
cnx.getContent();
/* 
java.io.IOException: Server returned HTTP response code: 505 for URL: http://distant/upload/mon fichier.pdf 
*/
évidemment en tapant directement "http://distant/upload/mon%20fichier.pdf" dans le navigateur, j'obtiens bien mon pdf...

ma question : comment intervenir dans HttpURLConnection pour encoder l'URL de redirection renvoyée par le serveur ?

serveur distant : Tomcat 5.5 / JDK1.5.0
serveur local: Tomcat 6 / JDK1.5.0