Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的ip地址_Java_Networking_Ip_Loopback - Fatal编程技术网

java中的ip地址

java中的ip地址,java,networking,ip,loopback,Java,Networking,Ip,Loopback,如果我在大学里,我被要求激活一段代码。所以我需要找到我所在地的iP,以匹配我的大学iP。想知道如何在java中实现这一点吗?我已经尝试了一个环回接口。通过使用NetworkInterface.getNetworkInterfaces()并在每个接口上调用getInetAddresses(),您可以看到分配给计算机的所有IP地址。要检查您是否拥有大学范围内的IP,您可以执行以下操作: boolean onCampusNetwork() { for(Enumeration<Networ

如果我在大学里,我被要求激活一段代码。所以我需要找到我所在地的iP,以匹配我的大学iP。想知道如何在java中实现这一点吗?我已经尝试了一个环回接口。

通过使用
NetworkInterface.getNetworkInterfaces()
并在每个接口上调用
getInetAddresses()
,您可以看到分配给计算机的所有IP地址。要检查您是否拥有大学范围内的IP,您可以执行以下操作:

boolean onCampusNetwork() {
    for(Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces(); ifaces.hasMoreElements();) {
        NetworkInterface iface = ifaces.nextElement();
        for(Enumeration<InetAddress> addresses = iface.getInetAddresses(); addresses.hasMoreElements;) {
            InetAddress address = addresses.nextElement();
            // return true if address is in the university's range; something like:
            if(address.toString().startsWith("10.0")) {
                return true;
            }
        }
    }
    // None of the IP addresses were in the university's range.
    return false;
}
boolean oncapsusnetwork(){
对于(枚举ifaces=NetworkInterface.getNetworkInterfaces();ifaces.hasMoreElements();){
网络接口iface=ifaces.nextElement();
for(枚举地址=iface.getInetAddresses();地址.hasMoreElements;){
InetAddress=addresses.nextElement();
//如果地址在大学范围内,则返回true;类似于:
if(address.toString().startsWith(“10.0”)){
返回true;
}
}
}
//没有一个IP地址在大学的范围内。
返回false;
}

我还没有运行这段代码,但它应该可以满足您的需要。

难道不应该有一些类似的功能吗?你们学校已经设置好了吗?如果你的代码发现了正确的设置,并且有一个覆盖设置的选项,那就更好了。

有各种各样的网站可以为你提供公共ip(或者网关的公共ip,我想这就是你想要的)。您可以告诉程序与其中一个站点建立HTTP连接,并获取包含信息的页面。由于这些站点具有非常可预测的格式,因此使用一两个正则表达式很容易解析结果。但这仅在您有internet连接的情况下有效


或者,您可以让该程序尝试连接到您学院的一个内部网服务器。如果它可以连接到外部世界无法访问的站点,那么它就在局域网上。

您能详细说明一下您要做什么吗?你所说的激活和匹配是什么意思?对,如果我在我的大学,我会自动激活一个代理,允许我搜索大学以外的链接。因此,我需要检索我的iP,并将其与我的大学iP范围进行比较,然后继续。问题是我的返回iP是127.0.1.1