Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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 从HttpServletRequest获取源URL列表_Java_Spring_Servlets - Fatal编程技术网

Java 从HttpServletRequest获取源URL列表

Java 从HttpServletRequest获取源URL列表,java,spring,servlets,Java,Spring,Servlets,我只需要允许一个网站列表,以嵌入我们的网站 public boolean matches(HttpServletRequest request) { String requestReferer = request.getHeader("Referer"); for (String s : whiteList) { if (requestReferer.toLowerCase().contains(s)) return true;

我只需要允许一个网站列表,以嵌入我们的网站

    public boolean matches(HttpServletRequest request) {
    String requestReferer = request.getHeader("Referer");

    for (String s : whiteList) {
        if (requestReferer.toLowerCase().contains(s))
            return true;
    }
    return false;
}
我从请求标题中获取“Referer”,该标题给出了源站的完整URL:

上面的代码运行良好。但是,有没有办法只从HttpServletRequest对象获取主机名而不使用“Referer”?
我的意思是,有没有一种方法可以从HttpServletRequest对象获取“somesite.com”。

您可以使用
ServletRequest.getRemoteAddr()
ServletRequest.getRemoteHost()
来获取有关客户端的信息

getRemoteHost
的Javadoc说:

返回客户端或最后一个代理的完全限定名 已发送请求。如果发动机无法或选择不解决故障 主机名(为了提高性能),此方法返回 IP地址的虚线字符串形式。对于HTTP servlet,与 CGI变量REMOTE_HOST的值


OP希望从推荐人中提取主机,而不是找出自己的主机。