2011-08-03 7 views
3

J'ai cherché partout sur la façon d'obtenir l'adresse IP externe sans succès. Je suis en mesure d'obtenir avec succès l'adresse IP locale.Adresse IP externe dans Android par programme

En bref, ce que je veux faire pour obtenir la même adresse IP que lorsque je vais sur whatip.com ou whatismyipaddress.com. Cependant, je ne veux pas faire d'appels aux sites Web, y a-t-il un moyen intégré de l'obtenir? Merci encore!

Aussi, je veux l'adresse ip externe si l'utilisateur est connecté au wifi.

+0

[un de ces services] (http://ifconfig.me/ip.json) - retourne une chaîne simple –

+0

Copie possible de [Comment obtenir l'adresse IP de l'appareil à partir du code?] (Https: // stackoverflow .com/questions/6064510/comment-obtenir-ip-adresse-de-l'appareil-de-l'appareil-code-) – mike47

Répondre

10

Cependant, je ne veux pas faire d'appels aux sites Web, y a-t-il un moyen intégré de l'obtenir?

Non. Ceci est impossible sur la plupart des composants matériels, y compris les ordinateurs de bureau et les ordinateurs portables, sans parler des téléphones. Généralement, vous êtes derrière une sorte de NAT, qui définit votre "adresse IP externe".

+0

Ugh c'est un bummer ... Est-ce que cela fait une différence si le téléphone est connecté sur le réseau wifi à la place ? – thunderousNinja

+2

@unknown: Non. Encore une fois, généralement, vous êtes derrière une sorte de NAT, qui définit votre "adresse IP externe". C'est pourquoi des services comme 'whatismyipaddress.com' existent. Si tout le monde connaissait leur adresse IP externe, nous n'aurions pas besoin de tels services. – CommonsWare

3

IcanHazIP.com vous donne une réponse courte et douce pour l'IP externe. Cependant, l'utilisation de cette URL sur un grand nombre de téléphones produira inévitablement la même adresse IP pour quelques appareils (pour la raison que CommonsWare a déjà expliqué). Idée: Les données peuvent être plus significatives si vous collectez l'adresse IP externe combinée à l'adresse IP locale. Par ailleurs, j'ai envoyé une requête à IcanHazIP.com suivi de l'exemple de code suivant pour l'IP locale: http://chandan-tech.blogspot.com/2010/12/finding-ip-address-of-your-android.html

Par ailleurs, j'ai travaillé sur des périphériques de développement avec des modems qui ont été activés par Sprint et leurs adresses IP locales étaient en fait des adresses IP externes