Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : problème de Proxy HTTP [ Réseau & internet / Internet ] (nanano7)

jeudi 17 avril 2008 à 13:29:19 | problème de Proxy HTTP

nanano7

Bonjour tous le monde

j'ai troué un petit programme de proxy http en java, mais ne retourne pas la résultat, il retourne juste la reponse de l'en-tête http, voici le programme :

--------------------------------------
import java.io.*;
import java.net.*;

class OneServeur extends Thread{
  private Socket socket, socketToWeb;
  private BufferedReader fromBrowser;
  private PrintWriter toBrowser;
  private PrintWriter toWeb;
  private BufferedReader fromWeb;

  public OneServeur(Socket s) throws IOException {
        socket = s;
        fromBrowser = new BufferedReader(
                            new InputStreamReader (
                              socket.getInputStream()));
        toBrowser = new PrintWriter( new BufferedWriter (
                                      new OutputStreamWriter (
                                      socket.getOutputStream())),true);
        start();
  }

  public void run() {
    try {
        String str, targetHost="", httpHeader="";
        while(true) {
             str = fromBrowser.readLine();
             httpHeader += str + "\n";
             if ( str.startsWith("Host: " ) ) targetHost = str.substring(6);
             if ( str.length() == 0 ) break;
        }
        //socketToWeb = new Socket(InetAddress.getByName(targetHost),80);
        socketToWeb = new Socket(
                            InetAddress.getByName(targetHost),80);
        System.out.println(socketToWeb);
        fromWeb = new BufferedReader(
                      new InputStreamReader (
                          socketToWeb.getInputStream()));
        toWeb = new PrintWriter( new BufferedWriter (
                                  new OutputStreamWriter (
                                    socketToWeb.getOutputStream())),true);
        System.out.println("-> -> -> -> -> -> ->  \n" + httpHeader);
        toWeb.println(httpHeader);


        boolean echoing = true;

        while ( true ) {
             str = fromWeb.readLine();
             if ( str == null ) break;
             if ( str.length() == 0 ) echoing = false;
             if( echoing ) System.out.println(str);
             toBrowser.write(str);
        }
        System.out.println("\nclosing ...");
    } catch ( IOException e) {
    } finally {
        try {
                socket.close();
        } catch ( IOException e ) {}
    }
  }
}
------------------------------------------------
voici le resultat qui m'a donner :

Started ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=12345]
connection acceptee Socket[addr=/192.168.0.7,port=1523,localport=12345]
Socket[addr=www.google.fr/66.249.93.147,port=80,localport=35059]
-> -> -> -> -> -> -> 
GET / HTTP/1.1
Host: www.google.fr
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: GPC=FW=0:GHV=2:MGLS=0:MGV=0:SG=0:TE=0:TS=0:TV=0:WCYD=0:SIG=knL9H0E5R8onR5e1; PREF=ID=60b983ba303f9e1e:TB=4:LD=fr:NR=100:TM=1203686163:LM=1207734861:S=4R40Q4i3iomrmRJD; GDSESS=ID=60b983ba303f9e1e:EX=1207825110:S=H0eaQ8x-pzEdekJe; S=sorry=-td9FggEbhej8Ic1Ga3Icg; BX=38hlknh40ce55&b=3&s=lb


HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip
Server: gws
Content-Length: 2740
Date: Thu, 17 Apr 2008 11:19:35 GMT

closing ...

si qlq voir où le problème, qu'il m'aide, et merci


jeudi 17 avril 2008 à 14:43:49 | Re : problème de Proxy HTTP

Kysic

Membre Club
Salut,
il n'affiche que l'entête mais il est sensé envoyé au navigateur tout le contenu.
c'est :
if ( str.length() == 0 ) echoing = false;
if( echoing ) System.out.println(str);
qui détecte la fin de l'entête et n'affiche plus après.
Cela dit si tu affiche le reste quand tu te connecte à google ça risque de pas être très lisible puisque comme tu indique accepter que se soit compresser ("Accept-Encoding: gzip,deflate") google va t'envoyer du compresser ("Content-Encoding: gzip").



Cette discussion est classé dans : http, socket, str, fr, sockettoweb


Répondre à ce message

Sujets en rapport avec ce message

enchainer des requetes http dans un client java [ par squezzyb ] Bonjour a tous. J'essaye de developper un client java pour envoyerdes requetes HTTP à un serveur JBOSS. Ce qui coince, c'est qu'à partir de la seconde serveur Socket [ par fx9200 ] Bonjour j'essaie de faire fonctionner un socket en tant que serveurla compilation s'chève avec succésun message lors de l'exécution s'affiche:-------- problème d'expression regulière [ par ismailfk ] Bonjour,j'ai toujours des problèmes avec les expressions regulières.Bref,j'ai le code suivant:Pattern p= Pattern.compile(regex);Matcher m = p.matcher( Récupérer Informations Sur Page Http [ par slycers ] Bonjour,Je suis un débutant en programmation...(en fait, j'ai déjà fait un peu de C, C++, mais je ne crois pas que ce soit utile dans ce cas...)J'ai f Connexion HTTPS Adapter HTTP [ par romainlatin ] Bonjour,j'essaie de me connecter à un site en HTTPS (avec httpsurlconnection + PasswordAuthentication) et tout fonctionne a mon site https://truc/norm applet et socket [ par rodgeurette ] Bonjour!J ai réalisé l'applet suivant:import java.applet.*; <br minmax_bound="tru probleme inconnue (debutant] [ par gholiat ] bonsoir, je voudrais s'il vous plait connaitre mon erreur dans le code suivant (je suis debutant en programation) : ********************************** Tomcat / Apache, url simplifiée [ par omcougar ] Bonjour,J'ai un probleme avec le parametrage Apache tomcat...aucun probleme pour connecter l'un a l'autre avec le module jk dans la declaration du ser comunication SOCKET CLIENT C SERVEUR JAVA [ par aymoun11 ] bonjour, je suis entrain de développer un connexion entre un serveur java et un client C ,le probléme que la connexion démarre et le serveur et en éco


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,342 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.