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

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Sockets et http

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Sockets et http

n°623909
Longfield
Posté le 28-01-2004 à 15:37:23  profilanswer
 

voilà, je dois me connecter à un serveur http et envoyer une requête très simple et la lire. Simplement je n'arrive jamais à lire mon InputStream (j'attends toujours que le inputStream soit ready), et je me demande bien de quoi ça peut venir ...
 
Voilà mon code

Code :
  1. public class ClientHTTP_TCP {
  2. public static void main(String[] args) {
  3.  PrintStream osw;
  4.  InputStreamReader isr;
  5.  char[] answer = new char[50];
  6.  try {
  7.   Socket s = new Socket(InetAddress.getByName("www.google.ch" ), 80);
  8.   osw = new PrintStream(s.getOutputStream());
  9.   isr = new InputStreamReader(s.getInputStream());
  10.   osw.print(new String("GET / HTTP/1.0\n" ));
  11.   System.out.println("OutputStream writed" );
  12.   osw.flush();
  13.   System.out.println("OutputStream flushed" );
  14.   while (!isr.ready()) {System.out.println("Wainting for the Reader" );}
  15.   isr.read(answer, 0, 50);
  16.   System.out.println("InputStream read" );
  17.   System.out.println("answer is : " + String.copyValueOf(answer));
  18.   osw.close();
  19.   isr.close();
  20.   s.close();
  21.  } catch (Exception e) {
  22.   e.printStackTrace();
  23.  }
  24. }
  25. }


Message édité par Longfield le 28-01-2004 à 15:39:43
mood
Publicité
Posté le 28-01-2004 à 15:37:23  profilanswer
 

n°624003
the real m​oins moins
Posté le 28-01-2004 à 16:40:50  profilanswer
 

[:fear]
 
 
 
UrlConnection ...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°624010
Longfield
Posté le 28-01-2004 à 16:50:48  profilanswer
 

c'est à dire ???

n°624015
the real m​oins moins
Posté le 28-01-2004 à 16:53:00  profilanswer
 

c-a-d va regarder cette classe dans la javadoc


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°624022
benou
Posté le 28-01-2004 à 16:59:06  profilanswer
 


ca dépend, si c'est pour faire des trucs un peu complexe, je préfère utiliser une socket aussi, moi ...
 
Mais si le besoin c'est un truc simple (récupérer la page d'un site), effectivement, un bon new Url("http://www.google.ch" ).openStream() ca va plus vite :)
 
à mon avis, ton truc ne marche pas parce que tu n'as pas envoyer le double retour à la ligne à la fin de ta requête. En plus, le retour à la ligne c'est \r\n, pas seulement \n en HTTP ...
 
essaye ca :
osw.print(new String("GET / HTTP/1.0\r\n\r\n" ));  
 
 
(j'ai pas bien compris l'intérêt de transformer ton flux en PrintStream)


---------------
ma vie, mon oeuvre - HomePlayer
n°624027
the real m​oins moins
Posté le 28-01-2004 à 17:00:57  profilanswer
 

benou a écrit :


ca dépend, si c'est pour faire des trucs un peu complexe, je préfère utiliser une socket aussi, moi ...

bof, c'est quoi l'interet d'avoir la socket par rapport à un bete stream ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°624049
benou
Posté le 28-01-2004 à 17:07:50  profilanswer
 

the real moins moins a écrit :

bof, c'est quoi l'interet d'avoir la socket par rapport à un bete stream ?


ben déjà, tu contrôle vachement mieux ce que tu envoies et ce que tu reçois en écrivant directement plutot qu'en utilisant les méthodes à la con de URLConnection.
 
Ensuite, dans le cas d'erreur HTTP, y a des cas où tu n'obtiens pas le résultat de la requête mais une exception à la con, ce qui peut être gênant.
 
Ensuite, la gestion des proxy de la classe URL est hyper mal foutu.
 
une petite critique de la classe URL là : http://www.innovation.ch/java/HTTP [...] lient.html


---------------
ma vie, mon oeuvre - HomePlayer
n°624053
the real m​oins moins
Posté le 28-01-2004 à 17:09:09  profilanswer
 

ok j'achete


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°624056
the real m​oins moins
Posté le 28-01-2004 à 17:10:03  profilanswer
 

(cela dit sur urlconnection t'as deux getStream et donc t'as des Stream tout ce qu'il y a de standard. pour le reste ok)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°624057
the real m​oins moins
Posté le 28-01-2004 à 17:10:15  profilanswer
 

c'est quoi ce HTTPClient dont ils parlent?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 28-01-2004 à 17:10:15  profilanswer
 

n°624080
benou
Posté le 28-01-2004 à 17:19:45  profilanswer
 

the real moins moins a écrit :

c'est quoi ce HTTPClient dont ils parlent?


c'est une librairie pour faire du client HTTP en java ... mais ce truc là n'a jamais été terminé : il est en version 0.3


---------------
ma vie, mon oeuvre - HomePlayer
n°624092
the real m​oins moins
Posté le 28-01-2004 à 17:30:23  profilanswer
 

ha ok
et commons-net tu l'a déjà essayé pour l'http?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°624128
benou
Posté le 28-01-2004 à 17:55:12  profilanswer
 

the real moins moins a écrit :

ha ok
et commons-net tu l'a déjà essayé pour l'http?


 :heink:  
 

Citation :

This version supports Finger, Whois, TFTP, Telnet, POP3, FTP, NNTP, SMTP, and some miscellaneous protocols like Time and Echo as well as BSD R command support


 
y a pas de http dans commons-net ...


---------------
ma vie, mon oeuvre - HomePlayer
n°624186
the real m​oins moins
Posté le 28-01-2004 à 18:37:36  profilanswer
 

ha proute, je pensais, désolé


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°624212
Longfield
Posté le 28-01-2004 à 19:20:31  profilanswer
 

Alors, c'est dans le cadre d'un TP sur les socket que j'ai fait comme ça, donc voilà, allez pas chercher plus loin !!!
 
Sinon, j'ai réussi à le faire tourner pour finir sans revenir voir par ici entre temps, et le code au niveau JAVA était tout-à-fait correct, l'erreur venait, comme l'a très bien et très exactement dit par benou, dans la commande que j'envoyais au serveur www !!!! il manquait toute la merde à la fin ...
 
Voilà, merci quand même les gars !!!


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

  [Java] Sockets et http

 

Sujets relatifs
Les Sockets Windowsprobleme pour parser un format notation scientifique (ex : e-179) JAVA
[JAVA] Afficher en couleur dans la console (sous Windows) ????[Help] executer un programme java
[XML-RPC] implémentation JAVA - Où trouver de la doc précise ?choisir la carte réseau du socket en Java
Insérer un java script ds un site webinsertion de java ds un site web
[Oreilly] Quels bon bouquins prendre pour Java et XML[Python - Resolu - Soluce Inside] Serveur http, recuperation d'url
Plus de sujets relatifs à : [Java] Sockets et http


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