获取动态应用程序URL

时间:2017-08-14 05:29:30

标签: java

在我的应用程序中,当用户注册时,会向用户的电子邮件ID发送一个链接。我想发送该应用程序的动态URL,即

生产服务器:https://example.com/APP/
测试服务器:https://test.example.com/APP/ 本地:http://LOCAL_IP:LOCAL_PORT/APP/

生产和测试服务器位于代理服务器之后。

我正在使用以下来生成网址。这适用于本地,但对于测试和生产,它正在生成具有实际IP和端口的URL。我想分别生成https://test.example.com/APP/,https://example.com/APP/ /

final String PROTOCOL = httpRequest.getScheme()+"://";
final String REMOTE_HOST = httpRequest.getLocalAddr();
final String PORT = ":"+httpRequest.getServerPort();
final String CONTEXT = httpRequest.getContextPath();
String url = "<a href='"+ PROTOCOL + REMOTE_HOST + PORT + CONTEXT + "' >" +
                            "Click Here to Proceed</a>";

提前致谢。

1 个答案:

答案 0 :(得分:0)

您正在寻找的内容称为反向DNS查找。请参阅此article

但坦率地说,只需从属性文件中读取域名即可。没有理由使解决方案复杂化,除非您按小时付款。当用户点击该网址时,会发生通常的DNS解析,并且他们会点击您的服务器。事实上,在企业环境中,您的内部服务器IP很可能会解析为用户无法从公司网络外部访问的域名。

我注意到你用Spring标记了你的问题(我删除了,因为你的问题实际上与Spring无关),所以根据环境阅读域名是一件小事。参见{{3 }}