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

Java Discussion :

Créer un proxy


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 106
    Points : 50
    Points
    50
    Par défaut Créer un proxy
    Bonjour,

    J'aimerai créer un proxy en Java, pour placer mon logiciel entre le navigateur web et Internet.

    Mon but est donc que les requêtes envoyées par le navigateur soient en fait envoyées à mon logiciel. Ce dernier renvoie ensuite la requête sur Internet, après traitement.
    Et vice-versa pour la réception de la réponse.

    N'ayant qu'assez peu de connaissances en réseau, voici ce que j'ai compris. N'hésitez pas à me dire si c'est faux :
    * le navigateur envoie des données sur le port 80
    * le serveur cible renvoie les données sur le port 8080

    Je me suis alors dis qu'il fallait que mon programme attende sur le port 80, pour capter ce qui vient du navigateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ServerSocket myServer = new ServerSocket(80);
    mySocket = myServer.accept();
    Mais lorsque j'appelle une page sur mon navigateur, la serverSocket ne me voit pas, parce qu'elle n'accepte pas

    Du coup, je ne vois absolument pas comment faire...
    Pouvez-vous m'aider ?

    Merci

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Créer un serverSocket, c'est bien...

    Mais lire les données c'est encore mieux...

    Sinon,il existe plusieurs types de proxies:
    • Tu as les proxys HTTP, qui utilisent une variante du protocole HTTP pour transmettre les données.
      Voici à quoi pourrait ressembler un message que le navigateur envoie à ton proxy:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      GET http://www.google.fr/ HTTP/1.0
      Host: www.google.fr
      Cependant, ces proxys ne sont limités qu'au protocole HTTP (celui pour voir les pages web)
    • Les proxys SOCKS , qui sont beaucoup plus complexes à mettre en oeuvre,mais qui permettent de faire passer n'importe quel protocole

    Quand ton navigateur utilise un proxy,il se passe ceci:
    • Le navigateur se connecte au proxy et lui envoie sa requête (comme celle montrée plus haut dans le cadre d'un proxy HTTP)
    • Le proxy se connecte à la cible distante et lui envoie ce que le navigateur lui a envoyé (par exemple,il se connectera à www.google.fr et lui enverra
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      GET / HTTP/1.0
      Host: www.google.fr
      ).
    • Le proxy reçoit le retour de la page et la retransmet au navigateur


    En espèrant t'avoir éclairé

    Edit: il faut configurer le navigateur pour lui dire d'utiliser ton proxy
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 106
    Points : 50
    Points
    50
    Par défaut
    Créer un serverSocket, c'est bien...

    Mais lire les données c'est encore mieux...
    lol oui^^
    J'avais oublié de mettre ce que je faisais après la création du ServerSocket, du coup j'ai édité pendant que tu devais être en train d'écrire

    Je ne passe pas le "accept()", donc je n'ai rien à lire


    En espèrant t'avoir éclairé
    Ouaip merci tu rends ça un peu plus clair

    Edit: il faut configurer le navigateur pour lui dire d'utiliser ton proxy
    Est-ce qu'on est vraiment obligé de configurer le navigateur pour pouvoir intercepter ses données ?

  4. #4
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Malheureusement, oui . Ou sinon faudrait aller hooker directement les APIs réseau, ce qui est bien sûr spécifique à l'OS est difficilement réalisable en java...
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 106
    Points : 50
    Points
    50
    Par défaut
    Arf ok
    Dommage

    Merci pour tes explications

  6. #6
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2015
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    j'ai une question s.v.p, est ce possible de programmer (en java) un proxy (dans mon ca ce proxy va joué le role d'un fournisseur de service) qui recoit une requete http du client, modifier le header et la transmettre au serveur ?

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer un proxy virtuel ?
    Par divide dans le forum Virtualisation
    Réponses: 0
    Dernier message: 25/05/2012, 10h26
  2. Réponses: 3
    Dernier message: 28/12/2011, 11h06
  3. Créer un proxy avec NAT ?
    Par harrribo dans le forum Développement
    Réponses: 2
    Dernier message: 17/03/2011, 11h40
  4. Créer un proxy
    Par laclac dans le forum Langage
    Réponses: 9
    Dernier message: 05/07/2010, 13h00
  5. Créer un proxy bavard
    Par TitiFr dans le forum Développement
    Réponses: 4
    Dernier message: 26/07/2005, 20h20

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