Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

URL sur un répertoire : comment récupérer le contenus HTML ?

6 réponses
Avatar
Nanard
Bonjour,

J'ai besoin de r=E9cup=E9rer le contenus HTML d'une URL ayant ce format :

http://www.aa.com/bb

Mon code est OK si =E0 la fin j'ai un nom de fichier: http://www.aa.com/b=
b/cc.txt
Mais j'obtiens une Exception si je veux me conneter =E0 : http://www.aa.=
com/bb

Depuis un brower web : il y a bien une page web affich=E9 si je saisie
http://www.aa.com/bb
Comment r=E9cup=E9rer son conteus ?

Un exemple SVP


Merci

PS : la page web est sur un site qui est pas =E0 moi, je peut pas
modifier le format de l'URL a r=E9cup=E9rer. J'ai le controle que sur le
code pour LIRE.

6 réponses

Avatar
Mayeul
Nanard wrote:
Bonjour,

J'ai besoin de récupérer le contenus HTML d'une URL ayant ce format :

http://www.aa.com/bb

Mon code est OK si à la fin j'ai un nom de fichier: http://www.aa.com/bb/cc.txt
Mais j'obtiens une Exception si je veux me conneter à : http://www.aa.com/bb

Depuis un brower web : il y a bien une page web affiché si je saisie
http://www.aa.com/bb
Comment récupérer son conteus ?

Un exemple SVP


Merci

PS : la page web est sur un site qui est pas à moi, je peut pas
modifier le format de l'URL a récupérer. J'ai le controle que sur le
code pour LIRE.



On manque un peu d'informations, par exemple quelle est la méthode
utilisée actuellement, qui marche dans un cas mais pas dans l'autre.

Il est possible que http://www.aa.com/bb réponde par une redirection, ce
que les browsers web traitent automatiquement en allant vers la
redirection indiquée. Mais quand ils le font, ils indiquent dans la
barre d'adresse où ils ont été redirigés.

En tout cas si le problème c'est ça, ou un certain nombre d'autres
problèmes communs, la manière la plus simple de récupérer une page
accessible par http, c'est d'utiliser HttpClient :

http://hc.apache.org/httpclient-3.x/

Par défaut il suit automatiquement les redirections, et automatise pas
mal de choses.

--
Mayeul
Avatar
Nanard
J'ai pas le code sous la main (je suis au boulot), mais en gros ce qui
marche c'est :


URL url = new URL("http://www.aa.com/bb/cc.txt");
java.net.URLConnection con = url.openConnection();
con.set.... qques trucs

BufferedReader in = new BufferedReader
(new java..io.InputStreamReader(con.getInputStream()));
...
L'Exception que j'ai est une MalformedURLException


OK, je vais voir avec HttpClient (j'ai peur que ce soit un peut lourd
à programmer... : je voulais rester dans le simple :-)
Avatar
Mayeul
Nanard wrote:
J'ai pas le code sous la main (je suis au boulot), mais en gros ce qui
marche c'est :


URL url = new URL("http://www.aa.com/bb/cc.txt");
java.net.URLConnection con = url.openConnection();
con.set.... qques trucs

BufferedReader in = new BufferedReader
(new java..io.InputStreamReader(con.getInputStream()));
...
L'Exception que j'ai est une MalformedURLException



Là du coup, si le problème est MalformedURLException, c'est assez
auto-descriptif. Je n'arrive pas à reproduire le problème avec les
exemples inventés, il faudrait donc voir avec le cas réél.

OK, je vais voir avec HttpClient (j'ai peur que ce soit un peut lourd
à programmer... : je voulais rester dans le simple :-)



Eh bien, http est un protocole simple, mais un protocole quand même.

Parfois il ne s'agit que de demander une URL, parfois il faut gérer les
codes de redirection, les headers, etc.

--
Mayeul
Avatar
Nanard
Merci

Il me semble que HttpClient fasse l'affaire (à voir dès que je trouve
le temps un soir cette semaine).

Le but de mon applie n'est pas de faire des connexions sur un site
web. Cela représente une petite partie. J'ai pas trop envis d'avoir
des tonnes de lignes de code pour çà :-)

En fait je cherche des livres à downloader sur le site de www.gutenberg.o rg.
Ils ont stockés les livres dans différents types d'arborescence. A
partir du 10000em livre : ils ont tout revus.
Je dois donc essayer 5 ou 6 types d'URL, catcher les exceptions à
chaque fois, pour savoir où récupérer le .zip du livre en question.

Pas mal de code assez touffu !

Merci pour le liens vers HttpClient.
Avatar
Christian Laborde
Voir plutôt :
http://www.system-linux.eu/index.php?post/2009/05/26/Aspirer-un-site-web-avec-la-commande-Wget

Salut

Nanard a écrit :
Merci

Il me semble que HttpClient fasse l'affaire (à voir dès que je trouve
le temps un soir cette semaine).

Le but de mon applie n'est pas de faire des connexions sur un site
web. Cela représente une petite partie. J'ai pas trop envis d'avoir
des tonnes de lignes de code pour çà :-)

En fait je cherche des livres à downloader sur le site de www.gutenberg.org.
Ils ont stockés les livres dans différents types d'arborescence. A
partir du 10000em livre : ils ont tout revus.
Je dois donc essayer 5 ou 6 types d'URL, catcher les exceptions à
chaque fois, pour savoir où récupérer le .zip du livre en question.

Pas mal de code assez touffu !

Merci pour le liens vers HttpClient.



--
Christian Laborde
La Révolution citoyenne, c'est sur : http://c.lab.over-blog.com/
Le forum des électrons libres :
http://electrons-libres.forumactif.fr
Les citoyens qui voient Net : http://www.netoyens.info
True E-mail : remove -no-spam-
Sentier des Vinches
CH 1091 Grandvaux
Suisse
Avatar
Nanard
On Aug 25, 3:58 pm, Christian Laborde wrote:
Voir plutôt :http://www.system-linux.eu/index.php?post/2009/05/26/Aspir er-un-site-...



Merci, mais je tiens à rester en Java.
Je suis sur une applie Android ... :-)