获取IP地址(互联网动态IP)

时间:2014-10-27 09:22:24

标签: android

在提供移动连接时,我尝试使用以下代码获取Internet动态IP地址。 getHostAddress返回10.13.x.x ssid内部主机地址。但我希望为178.240.x.x动态互联网IP地址。谢谢你的建议。

for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
                    InetAddress inetAddress = enumIpAddr.nextElement();
                    if (!inetAddress.isLoopbackAddress()) {
                        networkIpAdress = inetAddress.getHostAddress().toString();
                    }
                }

3 个答案:

答案 0 :(得分:0)

如果您的设备已连接wifi,则

 WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
 WifiInfo wifiInfo = wifiManager.getConnectionInfo();
 int ipAddress = wifiInfo.getIpAddress();

Android设备既可以通过WiFi连接,也可以连接3G,显然有不同的IP。 每次重新连接时,3G上的IP地址也会发生变化。

答案 1 :(得分:0)

我用以下代码解决了我的问题。

    HttpClient httpclient = new DefaultHttpClient();
    HttpGet httpget = new HttpGet("http://ip2country.sourceforge.net/ip2c.php?format=JSON");
    HttpResponse response;
    response = httpclient.execute(httpget);
    HttpEntity entity = response.getEntity();
    entity.getContentLength();
    JSONObject json_data = new JSONObject(EntityUtils.toString(entity));
    String networkIpAdress = json_data.getString("ip");

答案 2 :(得分:0)

-使用此URL获取IP地址。

Categories: ['https://news.bitcoin.com/page/2', 'https://news.bitcoin.com']
Feeds: []