【问题标题】:find internet ip address in android mobile programmatically , no need device ip address以编程方式在android手机中查找互联网IP地址,不需要设备IP地址
【发布时间】:2013-09-20 13:34:13
【问题描述】:

我正在尝试在我的手机中获取 Internet IP 地址。无需设备 IP 地址。该设备与 wifi 或 3g 或 2g 或无论如何连接。那个手机有互联网设施意味着,我需要那个互联网 IP 地址。

注意:我已经尝试了一些编码。该代码仅用于获取设备 IP 地址。

我的上一个代码:

try {
            for (Enumeration<NetworkInterface>
 en =  NetworkInterface.getNetworkInterfaces(); 
en.hasMoreElements();) 
{
                NetworkInterface intf = en.nextElement();       
                for (Enumeration<InetAddress>
 enumIpAddr = intf.getInetAddresses();enumIpAddr.hasMoreElements();) {
                    InetAddress inetAddress = enumIpAddr.nextElement();
                if (!inetAddress.isLoopbackAddress())
                { return inetAddress.getHostAddress().toString(); }      
                }
              }

        }
  catch (SocketException ex) 
 { 
   Log.e("ServerActivity", ex.toString());
  }

Another one code :

 WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
    int ipAddress = wifiInfo.getIpAddress();
    Log.v("hari", "ipAddress:"+ipAddress);

感谢提前 请任何人帮助我..

【问题讨论】:

    标签: android ip-address android-wifi


    【解决方案1】:

    您可以使用此网站及其 API 来获取它: http://www.externalip.net/

    具体来说 http://api.externalip.net/ip

    或者(正如 cmets 中的某个人所提到的),您可以在您的服务器上创建一个 PHP 文件:

    <?php
    echo $_SERVER['REMOTE_ADDR'];
    ?>
    

    使用 externalip.net url 的 Android 代码(改编自 this 答案)

    HttpGet httppost = new HttpGet("http://api.externalip.net/ip");
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity ht = response.getEntity();
    BufferedHttpEntity buf = new BufferedHttpEntity(ht);
    InputStream is = buf.getContent();
    BufferedReader r = new BufferedReader(new InputStreamReader(is));
    StringBuilder total = new StringBuilder();
    String ipaddress = r.readLine();
    

    【讨论】:

    • 现在只使用这种方法..但是,从今天早上开始,我在使用这种方法时出现错误..这就是为什么要问另一种方法..
    • 或者您也可以自己编写并将其托管在您自己的服务器上很容易。它是 php 中的单行代码。
    • 我需要它来进行 android 前端互联网 ip 检测
    • @harikrishnan 你是什么意思?我放了android代码,这是你要找的吗?
    • 我只使用这个..这是正确的..但是,今天早上到下午直到。此方法显示错误..
    猜你喜欢
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 2014-12-11
    • 1970-01-01
    相关资源
    最近更新 更多