Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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 如何检查URL是否为本地计算机?_Java_Spring_Url - Fatal编程技术网

Java 如何检查URL是否为本地计算机?

Java 如何检查URL是否为本地计算机?,java,spring,url,Java,Spring,Url,我在弹簧4中有一个物体。如何检查URL(HTTP)是否指向当前机器(此Spring应用程序)或是指向外部HTTP源的URL 我发现java.net.URL没有主机名解析来与其他URL对象进行比较。有没有一种方法可以重复使用这个解决方案,而不必重新发明轮子 我认为您可以使用InetAddress类来检查这一点 1.首先获取本地系统IP地址 String localAddress = InetAddress.getLocalHost().getHostAddress(); 2.获取

我在弹簧4中有一个物体。如何检查URL(HTTP)是否指向当前机器(此Spring应用程序)或是指向外部HTTP源的URL


  • 我发现java.net.URL没有主机名解析来与其他URL对象进行比较。有没有一种方法可以重复使用这个解决方案,而不必重新发明轮子

我认为您可以使用
InetAddress
类来检查这一点

1.首先获取本地系统IP地址

      String localAddress = InetAddress.getLocalHost().getHostAddress();
2.获取要匹配的url地址

      String requestAddress = InetAddress.getByName(new URL(url).getHost()).getHostAddress();
现在您可以比较1和2地址字符串

我希望这会有帮助

使用此代码,您可以检查它是否是本地IP。您应该传递一个
InetAddress
对象,因此使用以下命令从URL获取该对象:

InetAddress.getByName(new URL(urlString).getHost());

为什么您的代码没有显示为代码?试图对其进行编辑以使答案更令人敬畏,但失败了!:)这行不通。localAddress返回我的ip地址(例如172.12.34.56),requestAddress返回127.0.0.1比较将返回false,但它们将解析为相同的地址。我喜欢那些对问题进行向下投票而不留下错误提示的堆栈溢出人员/