Lancer un téléchargement à partir d'une application.

avermeer Messages postés 5 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 29 mai 2006 - 3 juin 2003 à 19:58
avermeer Messages postés 5 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 29 mai 2006 - 5 juin 2003 à 19:59
Bonjour.

Actuellement, dans une application, je provoque l'affichage d'un formulaire au travers de l'instruction :
r.exec("start " + urlS);
La soumission du formulaire lance un téléchargement.
Dans la mesure où je connais les paramètres de soumission, je voudrais by-passer le formulaire, et envoyer directement ma requête au serveur.
J'ai essayé différentes techniques (url post, get, socket), qui aboutissent toutes à des variantes d'un message "no protocol: /non_enregistre". Par exemple :
java.net.MalformedURLException: no protocol: /non_enregistre.phtml'org=%2Foutils
%2Ftelechargement%2Ftelechargement.phtml%3F
at java.net.URL.(URL.java:579)
at java.net.URL.(URL.java:476)
at java.net.URL.(URL.java:425)
at sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLCon
nection.java:1081)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:675)
at PostTest.doPost(PostTest.java:73)
at PostTest.main(PostTest.java:42)
Press any key to continue...
Quelqu'un aurait-il une piste ?

Merci.

4 réponses

cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
4 juin 2003 à 10:27
salut,
ben si tu execute ton url en passant les parametres ca devrait marcher...
exemple :
mapage?valeur1=toto&valeur2=titi
Duss
0
avermeer Messages postés 5 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 29 mai 2006
4 juin 2003 à 20:37
Baaah, non.
J'ai essayé en passant les paramètres à la suite de l'url (get), ou en les mettant dans un fichier de propriétés (post).
J'ai aussi créé un socket : Pareil.
Tant que je répète mot à mot les exemples des bouquins, ça va : J'arrive à lire l'heure sur un serveur à l'autre bout du monde, à récupérer l'adresse IP d'une bécane qui donne la météo, à récupérer le contenu html de la page d'accueil d'un site ...
Mais si je veux me connecter à boursorama pour lancer le téléchargement des cours du jour (car c'est ça que j'essaie de faire !!!), là, plus rien.
J'ai deux pistes :
Soit il s'agit d'un problème de droits.
Soit c'est la méthode de soumission du formulaire qui n'est pas standard :
<FORM action="http://www.boursorama.com/outils/telechargement/telechargement.phtml"
name="monform" OnSubmit="return (checkCheckbox() && checkDates());">
Une fois déployée, voici l'url :
"http://www.boursorama.com/outils/telechargement/telechargement.phtml" +
"?hid_date=ok&MARCHE=TOUT_ACT&SELECT_PORT" +
"=Tous&CODE=&jour1=16&mois1=05&annee1=2003&jour2=16&mois2=05" +
"&annee2=2003&FILE_FORMAT=WALDATA&download=T%E9l%E9charger"

Je ne t'envoie pas le reste du code : à force d'essayer des trucs et des machins j'ai tellement surchargé que j'arrive à peine à me relire !!!
Si tu as une idée.
Et, euh, de toi à moi, Java, franchement, t'en penses quoi ???
Merci en tous cas.

Antoine.
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
5 juin 2003 à 09:19
salut,
je commence par la derniere question ;)
java pour moi c est top de chez top !!!
bon sinon, revenons a nos moutons :
essayes de lancer ton url definitive avec cette source pour voir.
si ca merde au niveau de l url, ecrit la sans les % et passe la a l'urlencoder
Duss
0
avermeer Messages postés 5 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 29 mai 2006
5 juin 2003 à 19:59
Salut Duss, et merci pour ta patience.
Mais ça, c'est ce que javais essayé, jadis, au tout début.
Cela active effectivement le téléchargement, comme si tout allait bien se passer.
Mais quand je clique sur "enregistrer sur le disque" + "Ok", j'obtiens le message IE :
"Internet Explorer ne peut télécharger ...=WALDATA&download=Télécharger de www.boursorama.com
Internet Explorer n'a pas pu ouvrir ce site Internet. Le site requis n'est pas disponible ou n'a pas été trouvé.
Réessayez ultérieurement."
J'ai essayé tes 2 solutions. C'est la première qui donne ce résultat. Avec URLEncoder, le programme ne se fatigue pas trop puisqu'il affiche d'emblée "Press any key to continue ..." (aucune action, aucun message d'erreur).
Alors voilà. Problème de droit ???
Sinon, ben tant pis hein !
0
Rejoignez-nous