Tom's Guide > Forum > Programmation > [JAVA] Extraction d'une chaine

[JAVA] Extraction d'une chaine

Forum Programmation : [JAVA] Extraction d'une chaine

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonsoir,

J'ai une requete http, et je souhaiterai en extraire le "host" de l'en-tete mais je ne trouve pas comment faire, si quelqu'un pouvait m'aider. ^^"

Merci.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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

Répondre à KnaiL

J'imagine qu'avant le substring, tu as fait une recherche dans la chaine. Si cette recherche retourne -1 (c'est-à-dire non trouvé), le substring va forcément générer une exception :)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

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 !


Message édité par KnaiL le 13-01-2008 à 14:10:12
Répondre à KnaiL

J'ai une question:

Socket Socket sock = new Socket(1234); //Connecte le socket au port 1234

Si en suite je fait:
sock = new Socket(www.google.fr, 1234);

Est-ce que ca crée un deuxieme socket ou sa redefini les propriété du premier ?

Répondre à KnaiL

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.

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

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 ?


Message édité par KnaiL le 13-01-2008 à 18:41:50
Répondre à KnaiL

J'ai un code fait en TP qui devrait t'intéresser. C'est un serveur Web en Java. Il ne gère pas les erreurs, rien mais tu devrais y trouver quelques réponses à tes questions :).

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

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

Répondre à KnaiL

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.

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07
Tom's Guide > Forum > Programmation > [JAVA] Extraction d'une chaine
Aller à :

Il y a 2460 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens