Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1504 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Pourquoi URLConnection fonctionne sur un pc, pas sur l’autre ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pourquoi URLConnection fonctionne sur un pc, pas sur l’autre ??

n°1205344
albert95
Posté le 22-09-2005 à 17:22:09  profilanswer
 


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
 
J’utilise le  code suivant (plus bas, entre balises ) sur 2 pc, l’un a windows 2000, l’autre windows xp.
Il ne fonctionne pas sur celui où est installé windows xp.  :pt1cable:  
 
- A votre avis, l’erreur vint de xp ?  ou bien d’une 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 d’avance pour toutes vos suggestions
 
albert
 

Citation :


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 j’obtiens 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 j’exécute (Execute File)sur le pc où est installé windows 2000, une fenêtre DOS s’ouvre avec le code html de la page yahoo
Adresse de la fenêtre DOS :  
 

Citation :


C:\Program Files\Xinox Software\Jcreator V3LE\GE2001.exe


 
 
 
Alors que sur windows xp, j’obtiens  

Citation :


 
--------------------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.


 
 
 

mood
Publicité
Posté le 22-09-2005 à 17:22:09  profilanswer
 

n°1205378
beemer
Posté le 22-09-2005 à 17:46:17  profilanswer
 

essaie de faire un ping www.yahoo.com de ta machine XP...

n°1205513
albert95
Posté le 22-09-2005 à 20:09:30  profilanswer
 

Bonsoir beemer,
 
 
Le ping  sur pc avec windows xp ouvre une fenêtre DOS :envoi d’une 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 s’effectue ?
 
qu'est-ce que je peux en tirer pour l'application java ?
 :??:  
 
merci de m'aider
albert

n°1205639
bartleby
Posté le 22-09-2005 à 23:57:23  profilanswer
 

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 :D  
 

albert95 a écrit :

Bonsoir beemer,
 
 
Le ping  sur pc avec windows xp ouvre une fenêtre DOS :envoi d’une 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 s’effectue ?
 
qu'est-ce que je peux en tirer pour l'application java ?
 :??:  
 
merci de m'aider
albert


Message édité par bartleby le 23-09-2005 à 00:00:50
n°1205960
albert95
Posté le 23-09-2005 à 15:13:47  profilanswer
 

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 qu’il n’y 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, j’obtiens du html et du javascript dans la fenêtre de sortie :
J’en 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)  :pt1cable: peut-on récupérer ce code html/javascript, pour faire apparaître l’historique 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
 
 
 

n°1206251
albert95
Posté le 23-09-2005 à 20:15:17  profilanswer
 

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
 :jap:  
albert

n°1206262
bartleby
Posté le 23-09-2005 à 20:45:38  profilanswer
 

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:
 

n°1206454
albert95
Posté le 24-09-2005 à 13:20:06  profilanswer
 


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é à l’adresse :
http://72.14.207.104/search?q=cach [...] +csv&hl=en
- ostermillerutils_1_05_00.jar ne donne pas de méthodologie d’utilisation
 
- il semble qu’il soit nécessaire d’utiliser é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
 
 
j’ai 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 d’avance  
albert
 
 
 

n°1207931
bartleby
Posté le 26-09-2005 à 18:36:29  profilanswer
 

Envoi moi ton adresse email, j'ai un bout de code, mais j'ai nul part ou le mettre :D ...
 

albert95 a écrit :

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é à l’adresse :
http://72.14.207.104/search?q=cach [...] +csv&hl=en
- ostermillerutils_1_05_00.jar ne donne pas de méthodologie d’utilisation
 
- il semble qu’il soit nécessaire d’utiliser é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
 
 
j’ai 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 d’avance  
albert


n°1208131
albert95
Posté le 26-09-2005 à 22:26:01  profilanswer
 

bonsoir bartleby,
je viens d'envoyer un mail dans ta boite HardWare
 
albert


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Pourquoi URLConnection fonctionne sur un pc, pas sur l’autre ??

 

Sujets relatifs
Pourquoi URLConnection fonctionne sur un computer, pas sur l’autre ??Pourquoi URLConnection fonctionne sur un pc, pas sur l’autre ??
Base qui reste vide mais le script fonctionneUn "rollover" en CSS ne fonctionne pas, contrairement aux autres
Comment fonctionne un automate Programmable?[SQL] Mais comment fonctionne la fonction ENCRYPT
[ACCESS]recherche par caractère générique (par ex.*)ne fonctionne pasmon prgramme vbs ne fonctionne pas sur tous les pc...
Plus de sujets relatifs à : Pourquoi URLConnection fonctionne sur un pc, pas sur l’autre ??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR