Se connecter avec
S'enregistrer | Connectez-vous

[JAVA] Extraction d'une chaine

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

Alors j'ai utilisé Substring, je ne sais pas si c'est bon,
Voici l'erreur que j'ai :

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at EchoBrowser.EchoBrowser.main(EchoBrowser.java:48)

Si ca peut aider.... :s

Ah... ca j'avai pas vu ^^"

Sinon il faut que je fasse comment pour trouver la position du host dans ma requete http alors ? :s

EDIT: c'est bon j'ai reussi, simple erreur... j'utilisai mal "indexOf(str)" pour calculer la position de ma chaine a extraire !
Expert Programmation

Tu fait une référence vers un nouvel objet. En gros ton ancien objet Socket va devenir introuvable (si tu n'as pas fait un tmp = sock qqpart) et donc le garbage collector libèrera la mémoire.

Donc tu as fait ici un objet qui redéfini le premier via un objet totalement neuf.

Ok comme ca c'est clair, merci!

Encore une question! je rencontre des problemes au fur et a mesure que j'avance....

Comment connecter mon programme a un serveur HTTP et lui envoyer une requete GET url HTTP/1.1 ?

EDIT: Bon j'ai reussi a me connecter, seulement je ne reçoi aucune response de la part du serveur HTTP, lorsque je lui envoit GET http://www.google.fr/ HTTP/1.1

J'utilise des BufferedReader et Writer pour envoyer et recevoir, j'ai fait une boucle while ( !readBuffer.ready() ) { ... } mais elle boucle a l'infini... je ne recoi jamais de reponse, quelqu'un pourrait-il m'aider ?

Ouai c'est interessant comme tp, je regarderai ca plus en détail quand j'en trouverai le temps ^^

Moi en fait je suis coté client par rapport au serveur HTTP.
Mon programme reçoi les requete de mon navigateur, les envois au serveur, il reçoi ensuite la réponse du serveur et il l'a renvoi au navigateur (un proxy quoi...). Et la je suis bloqué car je n'arrive pas a récuperer la réponse lorsque je demande la page d'accueil google (pareil pour les autres...)! comme je l'ai expliqué ma boucle bufferreader.ready() boucle a l'infini... vous n'avez pas de solution ? :s
Expert Programmation

Hum j'ai le code d'un proxy également mais il est crade :(  il se charge juste de faire les connexions et si mes souvenirs sont bon il déconnais un peu.

D'ailleurs le problème je l'avais identifié lorsque j'ai fait le serveur, si tu regardes en bas dans le compte rendu j'ai mis

* Sortie de l'en-tête chez le client : (commentaire sur la ligne 129 : out.write(b, 0, n);)

Sinon j'avais en effet une boucle.

N'oublie pas de fermer les connexions également.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde