Java 如何检查URL是否为本地计算机?
我在弹簧4中有一个物体。如何检查URL(HTTP)是否指向当前机器(此Spring应用程序)或是指向外部HTTP源的URLJava 如何检查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.获取
- 我发现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,但它们将解析为相同的地址。我喜欢那些对问题进行向下投票而不留下错误提示的堆栈溢出人员/