Pourquoi URLConnection fonctionne sur un pc, pas sur lautre ?? - Java - Programmation
Marsh Posté le 22-09-2005 à 17:46:17
essaie de faire un ping www.yahoo.com de ta machine XP...
Marsh Posté le 22-09-2005 à 20:09:30
Bonsoir beemer,
Le ping sur pc avec windows xp ouvre une fenêtre DOS :envoi dune requête ping sur www.yahoo.akadns.net [216.109.117.106] avec 32 octets de données
Réponse de 216.109.118.65 : octets=32 temps =128 ms TTL=53
Un autre ping donne :
Réponse de 216.109.117.207 : octets=32 temps =128 ms TTL=53
Je ne sais pas interpréter la réponse, mais je suppose que la connexion seffectue ?
qu'est-ce que je peux en tirer pour l'application java ?
merci de m'aider
albert
Marsh Posté le 22-09-2005 à 23:57:23
Oui, d'apres la commande ping, la resolution DNS de yahoo.com s'effectue sur les deux machines. Le probleme ne vient donc pas de la.
Tu utilises une method deprecated ce qui m'amene a me demander si tes deux PC ont la meme version de JVM
Ouvre une fenetre dos et tape:
"java -version" sur tes deux machines....
Autre suggestion: Y aurait-il un firewall sur la machine XP ?
Autre suggestion: N'utilise pas cette satane method deprecated
albert95 a écrit : Bonsoir beemer, |
Marsh Posté le 23-09-2005 à 15:13:47
Bonjour bartleby,
j'ai suivi tes suggestions à la lettre :
Citation : N'utilise pas cette satane method deprecated |
Je ne sais pas où elle est, en tous cas je ne la vois pas dans le code. Elle apparaît seulement après compilation dans la fenêtre output : java uses or overrides a deprecated API
Tests :
- sur windows 2000, le pc est en reseau et le Cmd ne marche pas
- sur winows xp :
C:\Documents and Settings\HP_Propriétaire>java -version
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)
Une recherche sur sur windows 2000 donne un Jre1.5.0 et un JDK 1.5.0-04
Je suppose quil ny a pas de différences sur les versions java.
- Je désactive le firewall (zonealarm) => le code ne fonctionne pas mieux.
- Je fais un essai sur xp avec NetBeans : ça marche, jobtiens du html et du javascript dans la fenêtre de sortie :
Jen déduis une mauvaise installation du Jcreator sur xp. Je ferai une installation ce soir, je serai plus dispo.
Maintenant que ce pb est bientôt résolu, il reste toujours en suspens ce mystère : par quel miracle (code miraculeux) peut-on récupérer ce code html/javascript, pour faire apparaître lhistorique des cours de http://ichart8.finance.ukl.yahoo.c [...] gnore=.csv
dans une fenêtre swing (ou le sauvegarder en texte sur le disque dur) ?
cordialement
albert
Marsh Posté le 23-09-2005 à 20:15:17
bingo!!
j'ai réinstallé JCreator et à présent la connexion internet s'effectue, le résultat apparaît dans une fenêtre DOS. Je n'ai plus qu'à trouver le moyen de récupérer les données dans une applet
merci beemer, bartleby pour votre aide au diagnostic, je n'y serais pas arrivé seul
albert
Marsh Posté le 23-09-2005 à 20:45:38
albert,
Pour trouver les methodes deprecated, il faut utiliser la commande:
javac -deprecation MyClass.java
Ou alors tu dois avoir une case a cocher dans ton IDE.
Pour le second probleme dont tu parles, j'ai regarde le contenu du fichier csv dont tu as donne l'URL et il te suffit simplement de le parcourri avec un StringTonkenizer (il semble que les valeurs soient separees par une virgule) et de tout mettre dans un JTable.
Regarde ce lien a l'air pas mal:
http://72.14.207.104/search?q=cach [...] +csv&hl=en
je suis d'accord sur la method d'etendre la classe avec une method qui fait ce qui est decrit juste au dessus:
Marsh Posté le 24-09-2005 à 13:20:06
Bonjour bartleby,
Les valeurs inscrites dans le fichier téléchargé, sont en effet séparées par des virgules.
A la suite de ton conseil, j'ai travaillé sur Class StringTokenizer.
Citation : il te suffit simplement de le parcourri avec un StringTonkenizer |
- si je comprends bien, parcourir avec StringTokenizer permet de séparer toutes les informations comprises entre les virgules
http://java.sun.com/j2se/1.4.2/doc [...] nizer.html
« La classe StringTokenizer permet à une application de décomposer
une chaîne de caractères en jetons » :
http://www.laltruiste.com/document [...] nizer.html
Citation : et de tout mettre dans un JTable |
je suis allé à ladresse :
http://72.14.207.104/search?q=cach [...] +csv&hl=en
- ostermillerutils_1_05_00.jar ne donne pas de méthodologie dutilisation
- il semble quil soit nécessaire dutiliser également un BufferedReader, non ?
"1. read input 1 line at a time with a BufferedReader"
http://java.sun.com/j2se/1.4.2/doc [...] eader.html
"La classe BufferedReader lit du texte à partir d'un flux d'entrée de caractères, mettant en mémoire tampon les caractères afin de fournir une plus grande efficacité pour la lecture de caractères, de tableaux et de lignes."
http://www.laltruiste.com/document [...] eader.html
jai appris beaucoup avec ces recherches, mais je ne sais toujours pas récupérer les données téléchargées dans un JTable.
Est-ce que tu peux me donner un exemple de code ? ou peut-être existe-t-il un tuto sur le sujet ?
Merci davance
albert
Marsh Posté le 26-09-2005 à 18:36:29
Envoi moi ton adresse email, j'ai un bout de code, mais j'ai nul part ou le mettre ...
albert95 a écrit : Bonjour bartleby,
|
Marsh Posté le 26-09-2005 à 22:26:01
bonsoir bartleby,
je viens d'envoyer un mail dans ta boite HardWare
albert
Marsh Posté le 22-09-2005 à 17:22:09
Bonjour à tous et à toutes, spécialistes de java,
Je cherche depuis quelques temps un code qui permette de lire une page internet (historiques de cours des actions, par exemple :
http://ichart8.finance.ukl.yahoo.c [...] gnore=.csv
Pour comprendre le fonctionnement de chaque étape, dans un premier temps, je travaille sur URLConnection
Jutilise le code suivant (plus bas, entre balises ) sur 2 pc, lun a windows 2000, lautre windows xp.
Il ne fonctionne pas sur celui où est installé windows xp.
- A votre avis, lerreur vint de xp ? ou bien dune mauvaise installation de Jcreator LE ??
Comment y remédier ?
- Par ailleurs, pourriez-vous me dire comment procéder pour récupérer la page web à partir de la fenêtre DOS, pour la faire apparaître dans une fenêtre applet ou swing ?
Merci davance pour toutes vos suggestions
albert
import java.net.*;
import java.io.*;
public class URLConnectionReader {
public static void main(String[] args) throws Exception {
URL yahoo = new URL("http://www.yahoo.com/" );
URLConnection yahooConnection = yahoo.openConnection();
DataInputStream in = new DataInputStream(
yahooConnection.getInputStream());
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}
1/ Je compile (avec Jcreator LE) et jobtiens le même message sur les 2 pc :
Note: C:\JavaSun\tut-examples\networking\urls\example\URLReader.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
Process completed.
2/ Ensuite jexécute (Execute File)sur le pc où est installé windows 2000, une fenêtre DOS souvre avec le code html de la page yahoo
Adresse de la fenêtre DOS :
C:\Program Files\Xinox Software\Jcreator V3LE\GE2001.exe
Alors que sur windows xp, jobtiens
--------------------Configuration: inp - j2sdk1.4.2_08 <Default> - <Default>--------------------
java.net.UnknownHostException: www.yahoo.com
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:153)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at sun.net.NetworkClient.doConnect(NetworkClient.java:139)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:402)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:618)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:306)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:267)
at sun.net.www.http.HttpClient.New(HttpClient.java:339)
at sun.net.www.http.HttpClient.New(HttpClient.java:320)
at sun.net.www.http.HttpClient.New(HttpClient.java:315)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:521)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:498)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:626)
at URLConnectionReader.main(URLConnectionReader.java:8)
Exception in thread "main"
Process completed.