Java 防止主机名重定向

Java 防止主机名重定向,java,http,redirect,Java,Http,Redirect,我正在访问我的Java应用程序中的特定主机名,我不想将其重定向到其他地方。它使用的是HTTP,而不是HTTPS。从外部重定向是否可能?我想检查Windows上的hosts文件是否包含可能重定向主机名的条目: import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.SystemUtils; import java.io.File; import java.io.IOException; public cla

我正在访问我的
Java
应用程序中的特定主机名,我不想将其重定向到其他地方。它使用的是
HTTP
,而不是
HTTPS
。从外部重定向是否可能?我想检查
Windows
上的
hosts
文件是否包含可能重定向主机名的条目:

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.SystemUtils;

import java.io.File;
import java.io.IOException;

public class HostsFileChecker
{
    public static boolean isPossiblyRedirecting(String hostName) throws IOException
    {
        if (!SystemUtils.IS_OS_WINDOWS)
        {
            return false;
        }

        File hostsFile = new File("C:\\Windows\\System32\\drivers\\etc\\hosts");
        String hostsFileContents = FileUtils.readFileToString(hostsFile).toLowerCase();
        return hostsFileContents.contains(hostName.toLowerCase());
    }
}
是否还有其他事情需要检查,或者这样做毫无意义?Java肯定被这个Windows
hosts
文件中的重定向所“愚弄”,转而访问我的本地web服务器:

127.0.0.1 example.com

如果我理解正确,您希望验证服务器的标识。在具有受信任CA的服务器上使用SSL证书是实现此目的的一种方法。@Vasco:这对于我的卑微目的来说可能太过分了。如果我理解正确,您希望验证服务器的标识。在具有受信任CA的服务器上使用SSL证书是实现这一点的一种方法。@Vasco:对于我来说,这可能太过分了