Sockets et http [Java] - Java - Programmation
Marsh Posté le 28-01-2004 à 16:40:50
ReplyMarsh Posté le 28-01-2004 à 16:53:00
c-a-d va regarder cette classe dans la javadoc
Marsh Posté le 28-01-2004 à 16:59:06
the real moins moins a écrit : UrlConnection ... |
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)
Marsh Posté le 28-01-2004 à 17:00:57
benou a écrit : |
bof, c'est quoi l'interet d'avoir la socket par rapport à un bete stream ?
Marsh Posté le 28-01-2004 à 17:07:50
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
Marsh Posté le 28-01-2004 à 17:09:09
ReplyMarsh Posté le 28-01-2004 à 17:10:03
(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)
Marsh Posté le 28-01-2004 à 17:10:15
c'est quoi ce HTTPClient dont ils parlent?
Marsh Posté le 28-01-2004 à 17:19:45
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
Marsh Posté le 28-01-2004 à 17:30:23
ha ok
et commons-net tu l'a déjà essayé pour l'http?
Marsh Posté le 28-01-2004 à 17:55:12
the real moins moins a écrit : ha ok |
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 ...
Marsh Posté le 28-01-2004 à 18:37:36
ha proute, je pensais, désolé
Marsh Posté le 28-01-2004 à 19:20:31
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 !!!
Marsh Posté le 28-01-2004 à 15:37:23
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
Message édité par Longfield le 28-01-2004 à 15:39:43