IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Aide pour creer proxy http


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut Aide pour creer proxy http
    Bonjour a tous,
    Je dois realiser un proxy http en java en utilisant les sockets.
    Je recupere l'entete du browser(je sais pas si ca s'appele comme ca ) puis je le transmet au serveur web.
    Puis je recupere l'entete du serveur ainsi que le message.
    Premier probleme:
    Si le serveur ne m 'envoie pas la longueur du message("Content-Length: "),
    comment puis-je savoir ou je dois m'arreter de lire??
    J'ai essaye plusieur metode:
    -tampon!=null
    -tampon.equals("0"))
    Cela ne marche pas tout le temps.
    tampon est un string (tampon=in.readLine()).

    Second probleme(mais pas fondamental puisque je n'arrive pas a recuperer les messages de tous les sites web):

    Je dois realiser un cache.
    Donc quand je recupere le message du serveur,je l'enregistre dans un fichier.
    Le probleme est dans quel format je dois l'enregistrer?


    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Par défaut
    Salut bein pour lire un flux ligne par ligne jusqu'à la fin tu dois faire comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String buffer = "";
    while ( (buffer = in.readLine()) != null) { // Tu met la ligne que tu viens de lire dans ta variable buffer et tu tests sa nullité.
         // ce que tu dois faire.
    }
    Voilà de tête c'est ce code la.
    Après pour connaitre le type du fichier le serveur doit te renvoyer un header Content-Type (de tête aussi donc a verifier sur la rfc http) qui te permet de savoir (text, png, jpeg, ...).

    Voilà a+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut
    Merci pour ta reponse,
    Pour mon premier probleme ,c'est regle: j' ai utilise la methode read( char[])!=-1 et ca marche bien.
    Je regarderais le rfc http pour le cache.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut
    Bonsoir,
    Si ca bloque dans cette instruction:

    while ( (buffer = in.readLine()) != null)

    Quel est le probleme??
    Est ce que la socket est fermee??

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 33
    Par défaut
    Si le socket était fermé, il y aurais une exception (IOException). je pense que ça bloque tout simplement parce que le serveur Web tarde dans l'envoi de sa réponse.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut
    Bonjour,
    J'ai toujours le probleme pour recuperer le message du serveur si dans l entete je n'ai pas la longueur du message.
    J'ai essaye ses 2 methodes mais aucune ne marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while( true )
    	{
    	tampon=fromServer.readLine();
    	if(tampon== null) break;
    	message+=tampon+"\r\n";
     
    	}
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while( fromServer.read(c,0,1)!=-1)
      {
    lu+=1;
    message+=c[0];
    }

Discussions similaires

  1. Demande d'aide pour creer un aggregate
    Par JUSTIN Loïc dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 12/11/2010, 15h42
  2. Aide pour creer un site web
    Par lloydboy dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 25/04/2007, 04h23
  3. Réponses: 3
    Dernier message: 01/02/2007, 20h05
  4. [Debutant] Aide pour creer une classe image
    Par skwi6 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 08/10/2006, 13h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo