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

Services Web Java Discussion :

récupérer address et port du serveur Web


Sujet :

Services Web Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut récupérer address et port du serveur Web
    Bonjour,

    Y'a t'il un moyen(méthodes) en java pour récupérer automatiquement l'adresse IP et port du serveur Web.

    Merci

  2. #2
    Membre expérimenté Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    Bonjour,

    si tu connais un IP ou le HostName la class InetAddress retourne les adress IP

    IndetAddress allIP [] = InetAddress.getAllByName(String host);
    le paramatre host est un IP ou le hostName (ex: www.developpez.net).

    récupére le hostName avec l'IP:
    int i = 0;
    String hostName = InetAddress.getByName(allIP[i]).getHostAddress();

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut
    Non, ça marche pas, il affiche rien:

    InetAddress allIP[] = InetAddress.getAllByName("localhost");

    String hostName =InetAddress.getByName(allIP[0].toString()).getHostAddress();

    System.out.println(hostName);

    Je doute s'il ya des méthodes qui peuvent nous communiquer directement adresse et port du serveur Web.

    Mais, je vais continuer à chercher comme même.

    Merci si qq1 à une idée

  4. #4
    Membre expérimenté Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    et ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    InetAddress allIP[];
    			String host [];
    			try
    			{
    				allIP = InetAddress.getAllByName("221.252.100.22");
    				host = new String[allIP.length];
     
     
    				for (int g = 0; g< allIP.length ; g++) {
     
    					host[g] = allIP[g].getHostAddress();						
    				}
     
    				for (int f = 0; f< host.length; f++){
    					System.err.println("-"+host[f] +"\t\t"+ allIP[f]);
    				}
     
     
    			}
    			catch(Exception e){	e.printStackTrace();}

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut
    ça marche pas, depuis deux jours j'ai pas trouvé encore comment récupérer automatiquement en java l'adresse et port du serveur Web, si qq1 à une idée merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Par défaut
    Bonjour,
    on va reprendre du début :
    Citation Envoyé par taouja
    Bonjour,

    Y'a t'il un moyen(méthodes) en java pour récupérer automatiquement l'adresse IP et port du serveur Web.

    Merci
    qu'est-ce que tu as comme infos sur "le serveur web" ?
    -son nom ?
    -le réseau sur lequel il se trouve ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Par défaut
    En réponse au message privé :

    Je ne sais pas si une telle bibliothèque existe,
    mais ce que tu peux faire c'est un 'scan' du port 80
    du réseau sur lequel tu recherches le serveur web

    exemple :
    réseau 192.168.0.0/24
    1-ping des IP de 192.168.0.1 --> 192.168.0.254
    si ping OK=> 2-test du port 80
    port 80 ouvert =>tu as l'IP que tu cherches
    (en tous cas IP d'un serveur web)
    port 80 fermé =>continue boucle 1

    a plus

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut
    ça représente quoi le 24 dans réseau 192.168.0.0/24

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Par défaut
    Citation Envoyé par taouja
    ça représente quoi le 24 dans réseau 192.168.0.0/24
    c'est le masque :
    3 octets<=>24 bits<=>255.255.255.0
    cela signifie que les adresses utilisables sont sur le dernier octet:
    192.168.0.x
    d'ou adresses possibles de 1 à 254

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut
    merci pour l'explication, par contre y'atil un moyen en java pour récupérer toutes les adresses IP des machine d'un réseau en java.
    j'ai fait ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public class fenetre {
     
    	 static void AllAdresses(String st) {
    		   try {
    		       InetAddress[] addresses =
    		                    InetAddress.getAllByName(st);
    		       for (int i = 0; i < addresses.length; i++) {
    		                System.out.println(addresses[i]);
    		       }
    		   } catch (UnknownHostException ex) {
    		       System.out.println(st+"est inconnu");
    		   }
    		 }
    	 public static void main(String arg[]){
    		 AllAdresses("localhost");
    	 }
    }
    il m'affiche seulement : localhost/127.0.0.1.
    J'ai trouvé la fonction pour faire le ping c'est isReachable(int timeout), il suffit de connaitre ttes les adresses IP de mon réseau, je continue tjs à chercher. Si tu as une idée ou qq1 d'autre merci de me dire

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Par défaut
    Salut,

    si tu appelles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InetAddress.getAllByName(st);
    avec st="localhost", il t'affiche toutes les Ip associées au nom
    "localhost" , donc uniquement 127.0.0.1

    je cite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # public static synchronized InetAddress[] getAllByName(String host_name) throws UnknownHostExeception
    Retourne un tableau d'objets contenant l'ensemble
    des adressses Internet de la machine qui répond au nom passé en paramètre.
    (vu sur http://www-igm.univ-mlv.fr/~roussel/...java.inet.html)

    pour ma part j'avais utilisé une boucle avec isReachable sur toutes les IP
    possibles.

    je vais récrire mon code en condensé et je le poste...

    a plus

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut
    ok ça serai bien si tu metai ton code, pour voir comment tu récupère les adresses IP, faire un ping, et tester sur le port 80.
    Merci

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Par défaut
    Salut,
    j'ai essayé de faire des threads,
    mais le code n'est sûrement pas optimisé..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    public class Scan_res_thr {
     
        public Scan_res_thr(String res) {
        	String resa=res;
        	String Ip;
        	for (int i=1;i<254;i++){
        		Ip=resa+"."+i;
        		Ping serveur=new Ping(Ip);
        		}
        }
     
        class Ping extends Thread {
        	private String ip;
        	private Boolean rep;
     
        	public Ping (String ip){
        		this.ip=ip;
        		this.start();
        	}
        	public void run(){    		
     
        		try{
        				rep=(InetAddress.getByName(ip).isReachable(3000));
        				if (rep==true){
        					System.out.println("adresse IP :"+ip+" attribuée\n");
        					System.out.println("test du port 80\n");
        					Test_port(ip);
        				}
        				else {
        					System.out.println("adresse IP :"+ip+" non attribuée");
        				}
        			}
        			catch(Exception e){
        				System.out.println("erreur "+e);
        			}
     
        	}
        }
     
        public void Test_port(String ip){
        	String Ip=ip;
        	try{
        		Socket sock=new Socket(Ip,80);
        		System.out.println("port 80 ouvert sur IP :"+Ip);
        		System.out.println("le serveur Web est à l'adresse IP :"+Ip);
        	}
        	catch(Exception d){
        		System.out.println("erreur "+d);
        		System.out.println("port 80 fermé sur IP :"+Ip);
       		 }	
        }
     
     public static void main(String args[]){
        	Scan_res_thr test=new Scan_res_thr("192.168.1");
        }
    }
    toute correction sera bienvenue car je ne peux pas le tester
    tout de suite moi-même

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

Discussions similaires

  1. [Cisco ASA 5505] : forwarding de port vers serveur web
    Par arnaudperfect dans le forum Hardware
    Réponses: 2
    Dernier message: 17/10/2014, 16h01
  2. Récupérer Adresse IP Serveur WEB
    Par mxh77 dans le forum 4D
    Réponses: 2
    Dernier message: 24/12/2010, 13h24
  3. Récupérer fichier XML depuis un serveur web
    Par zenadrith dans le forum Silverlight
    Réponses: 20
    Dernier message: 28/05/2010, 23h12
  4. Récupérer IP et Port du serveur JBoss
    Par geos25 dans le forum Wildfly/JBoss
    Réponses: 11
    Dernier message: 25/09/2008, 17h21
  5. Réponses: 11
    Dernier message: 13/12/2007, 11h21

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