首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取ip地址(因特网动态ip)

获取ip地址(因特网动态ip)
EN

Stack Overflow用户
提问于 2014-10-27 09:22:24
回答 3查看 204关注 0票数 0

当提供移动连接时,我尝试使用以下代码获取internet动态IP地址。getHostAddress返回10.13.x.xSSID内部主机地址。但是我想把作为178.240.x.x动态互联网IP地址。提前谢谢。

代码语言:javascript
复制
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
    InetAddress inetAddress = enumIpAddr.nextElement();
    if (!inetAddress.isLoopbackAddress()) {
        networkIpAdress = inetAddress.getHostAddress().toString();
    }
}
EN

回答 3

Stack Overflow用户

发布于 2019-01-24 05:46:40

使用此URL获取公共IP地址:

代码语言:javascript
复制
https://ident.me

注意:您可能同时拥有IPv4和IPv6地址,在这种情况下,您可以分别使用https://v4.ident.mehttps://v6.ident.me

文档位于https://api.ident.me

票数 2
EN

Stack Overflow用户

发布于 2014-10-27 09:32:19

如果您的设备与wifi连接,那么

代码语言:javascript
复制
 WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
 WifiInfo wifiInfo = wifiManager.getConnectionInfo();
 int ipAddress = wifiInfo.getIpAddress();

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

票数 0
EN

Stack Overflow用户

发布于 2014-10-27 14:55:32

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

代码语言:javascript
复制
    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");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26584380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档