找回密码
 立即注册
产品售前咨询QQ2050858539
全球IP代理EasyClick 一键安装包
查看: 243|回复: 6

[技术问题] 求获取本机内网IP的方法

[复制链接]

4

主题

4

回帖

39

积分

新手上路

积分
39
在线时间
4 小时
最后登录
2022-10-29
发表于 2022-10-16 16:55:34 | 显示全部楼层 |阅读模式

马上注册,结交朋友,共同学习EasyClick

您需要 登录 才可以下载或查看,没有账号?立即注册

×
求获取本机内网IP的方法

4

主题

4

回帖

39

积分

新手上路

积分
39
在线时间
4 小时
最后登录
2022-10-29
 楼主| 发表于 2022-10-16 17:05:04 | 显示全部楼层
//获取本机内网IP

function getIPnw() {

    importClass('java.net.Inet4Address');
    importClass('java.net.InetAddress');
    importClass('java.net.NetworkInterface');
    importClass('java.util.Enumeration');
    importClass('java.net.Inet6Address');
    //获取内网IP地址
    var hostIp = null;
    try {
        var nis = NetworkInterface.getNetworkInterfaces();
        var ia = null;
        while (nis.hasMoreElements()) {
            var ni = nis.nextElement();
            var ias = ni.getInetAddresses();
            while (ias.hasMoreElements()) {
                var ia = ias.nextElement();
                if (ia instanceof Inet6Address) {
                    continue;
                }
                var ip = ia.getHostAddress();
                if (!"127.0.0.1".equals(ip)) {
                    hostIp = ia.getHostAddress();
                    break;
                }
            }
        }
    } catch (e) {
        log("e");
    }
    return hostIp
};

这个是以前AJ 写的 在IDEA上一直编译不通过   

执行错误:Function importClass must be called with a class; had "java.net.Inet4Address" instead.(js/main.js#44 )   是不是引用类写法不对 求指教
回复

使用道具 举报

173

主题

145

回帖

4044

积分

管理员

【官方合作培训导师】

积分
4044
在线时间
427 小时
最后登录
2024-10-21

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2022-10-16 22:02:58 | 显示全部楼层
引用方法没问题,应该是EC没找到这个类

VIP培训班介绍汇总[安卓/IOSusb版/IOS脱机版/PHP/nodejs等]
http://bbs.laoleng.vip/forum.php?mod=viewthread&tid=428
付费工具介绍汇总[热更/远程调试/IOS易语言UI/拓展插件等]
http://bbs.laoleng.vip/forum.php?mod=viewthread&tid=430
回复

使用道具 举报

6

主题

35

回帖

179

积分

注册会员

积分
179
在线时间
14 小时
最后登录
2024-1-10
发表于 2022-10-17 14:27:04 | 显示全部楼层
试试JavaScript,百度搜下 我试过,有时候可用.不行就还用java,java可以 我试过.
回复

使用道具 举报

67

主题

57

回帖

2087

积分

管理员

安卓原生UI 688培训

积分
2087
在线时间
455 小时
最后登录
2024-10-23
发表于 2022-10-18 05:11:26 | 显示全部楼层
   public static String getIntranetIPAddress(Context context) {
        NetworkInfo info = ((ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
        if (info != null && info.isConnected()) {
            if (info.getType() == ConnectivityManager.TYPE_MOBILE) {//当前使用2G/3G/4G网络
                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() && inetAddress instanceof Inet4Address) {
                                return inetAddress.getHostAddress();
                            }
                        }
                    }
                } catch (SocketException e) {
                    e.printStackTrace();
                }

            } else if (info.getType() == ConnectivityManager.TYPE_WIFI) {//当前使用无线网络
                WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
                WifiInfo wifiInfo = wifiManager.getConnectionInfo();
                String ipAddress = intIP2StringIP(wifiInfo.getIpAddress());//得到IPV4地址
                return ipAddress;
            }
        } else {
            //当前无网络连接,请在设置中打开网络
        }
        return null;
    }
    /**
     * 将得到的int类型的IP转换为String类型
     *
     * @param ip
     * @return
     */
    public static String intIP2StringIP(int ip) {
        return (ip & 0xFF) + "." +
                ((ip >> 8) & 0xFF) + "." +
                ((ip >> 16) & 0xFF) + "." +
                (ip >> 24 & 0xFF);
    }

Java 插件方式
专业承接 UI 定制
、软件定制、
Android ROM定制、
网站开发需求。
价格联系我详谈。
安卓原生UI 688培训
回复

使用道具 举报

4

主题

4

回帖

39

积分

新手上路

积分
39
在线时间
4 小时
最后登录
2022-10-29
 楼主| 发表于 2022-10-18 09:25:56 | 显示全部楼层
m3325599 发表于 2022-10-17 14:27
试试JavaScript,百度搜下 我试过,有时候可用.不行就还用java,java可以 我试过.

按理来说我那代码应该可以用的  用shll命令也能获取
回复

使用道具 举报

6

主题

35

回帖

179

积分

注册会员

积分
179
在线时间
14 小时
最后登录
2024-1-10
发表于 2022-10-25 07:08:56 | 显示全部楼层
5楼是标准答案  我之前用的也是 这个方案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EasyClick技术交流站 ( 皖ICP备2023020527号-4 )

GMT+8, 2024-10-23 10:25 , Processed in 0.136289 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表