Here you can find the source of isLocal(final URI uri)
private static boolean isLocal(final URI uri)
//package com.java2s; /*/*w w w.j a va 2s . c om*/ * JBoss, Home of Professional Open Source. * Copyright 2012, Red Hat, Inc., and individual contributors * as indicated by the @author tags. See the copyright.txt file in the * distribution for a full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ import java.net.InetAddress; import java.net.NetworkInterface; import java.net.URI; import java.util.Enumeration; public class Main { private static boolean isLocal(final URI uri) { try { final String hostName = uri.getHost(); final InetAddress address = InetAddress.getByName(hostName); NetworkInterface nic; if (address.isLinkLocalAddress()) { /* * AS7-6382 On Windows the getByInetAddress was not identifying a NIC where the address did not have the zone * ID, this manual iteration does allow for the address to be matched. */ Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); nic = null; while (interfaces.hasMoreElements() && nic == null) { NetworkInterface current = interfaces.nextElement(); Enumeration<InetAddress> addresses = current.getInetAddresses(); while (addresses.hasMoreElements() && nic == null) { InetAddress currentAddress = addresses.nextElement(); if (address.equals(currentAddress)) { nic = current; } } } } else { nic = NetworkInterface.getByInetAddress(address); } return address.isLoopbackAddress() || nic != null; } catch (Exception e) { return false; } } }