Bonjour,
quelqu'un saurait me dire comment en JAVA je pourrais m'y prendre pour recuperer mon adresse IP public?
merci
Bonjour,
quelqu'un saurait me dire comment en JAVA je pourrais m'y prendre pour recuperer mon adresse IP public?
merci
En lisant la avant de poster.
Etant d'un naturel trop gentil, voici le lien =>
http://java.developpez.com/faq/java/...seau#RESEAU_ip
bonjour, ben cette FAQ ne répond pas à ma question dans la mesure où tu recuperes l'IP "PRIVEE" de ton interface réseau. Moi je recherche l'IP "PUBLIC". Par exemple et je pense que c'est la majorité des gens qui ont cette configuration s'ils utilisent une ADSL.
internet => modem/router(adsl)=> LAN
IP public => modem/router(adsl) => IP privee
mon IP privee est "NATER" en IP public pour me balader sur internet et la reponse à mes requettes est de nouveau NATER par mon modem/router pour dialoguer avec mon PC sur le LAN.
en faite je veux connaitre l'ip public attribué à mon router afin d'avertir un service que j'ai changé d'IP. En effet mon provider me la change toutes les 24H .
la FAQ de plus, n'est pas super exacte dans la mesure où la fonction ne marche pas sous linux (elle fonctionne bien sous windows). J'ai déjà echangé un POST http://www.developpez.net/forums/sho...d.php?t=251161 qui corrige le probleme et je remercie encore le gas qui m'a dépatouillé. J'ai essaié d'avertir le gas qui a ecrit la FAQ sur ce sujet mais j'ai pas réussi à entrer en contacte.
donc si quelqu'un voit comment faire je prends, et comme tjrs quand j'ouvre une discution si je trouve c'est promis je laisse pas mourir le truc et soumet la réponse.
merci à tous.
Plusieurs sites permettent de connaître son adresse IP publique. Une solution consisterait à se connecter à un de ces sites puis de parser la page afin de récupérer l'adresse IP.
Exemple avec le site http://www.myip.dk
L'inconvénient est que si la page change, tu devras adapter le parsing.
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 try { String ip = null; URL url = new URL("http://www.myip.dk/"); BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); String line = null; StringBuilder sb = new StringBuilder(); try { while((line = br.readLine()) != null) { sb.append(line); } } finally { br.close(); } String content = sb.toString(); Matcher matcher = Pattern.compile("(?<=Your IP: )(\\d{1,3}\\.){3}\\d{1,3}").matcher(content); if(matcher.find()) { ip = matcher.group(); } if(ip != null) { System.out.println("My IP is " + ip); } else { System.out.println("Unknown IP :("); } } catch (MalformedURLException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); }
PS : il n'est pas correct de faire ce genre de requête trop souvent vers un site.
Salut,
Tu peux toujours le signaler dans le sujet de contribution de la FAQ Java :Envoyé par turican2
http://www.developpez.net/forums/showthread.php?t=2032
Sinon, comme tu passes par un routeur NAT, l'adresse "publique" n'est pas connu de ton PC ! Donc la solution donné par le y@m's semble la plus approprié...
Et si tu disposes d'un site web, tu peux te faire une page spécifique pour téviter de parser du HTML...
a++
oui la réponse donnée par le y@m's est parfaite ça fonctionne nickel.
"Matcher matcher = Pattern.compile("(?<=Your IP: )(\\d{1,3}\\.){3}\\d{1,3}").matcher(content);" ne fonctionne pas tte seule chez moi j'ai du écrire:
"Pattern modele = Pattern.compile("(?<=Your IP: )(\\d{1,3}\\.){3}\\d{1,3}");
Matcher matcher = modele.matcher(content);"
et pour les gens qui débute comme moi il faut importer ces librairies:
import java.lang.Object.*;
import java.io.*;
import java.util.regex.*;
merci de votre aide à tous les deux.
salut, bon le site a apparament changé, donc je ne sais pas comment ca marche
j'ai pas compris ("(?<=Your IP: )(\\d{1,3}\\.){3}\\d{1,3}")
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager