使用InetAddress在heroku上查找DNS主机名

时间:2015-03-30 05:38:39

标签: java heroku dns

我正在尝试获取我在Heroku中运行的计算机的主机名。我想得到的是这样的:https://gentle-hollows-7643-243.com

我现在使用的是InetAddress类内的getCannoncialHostName。这给了我这样的价值:

String hostName = java.net.InetAddress.getLocalHost.getCannonicalHostName
//returns the following
//be24dfaf-671d-4c37-8468-e1826ea26507.prvt.dyno.rt.heroku.com

这不是我期望收到的,https://gentle-hollows-7643-243.com

我是否误解了getCannonicalHostName的意图,或者因为Heroku架构而错误地工作了?

2 个答案:

答案 0 :(得分:1)

我认为你不能得到你所追求的东西。 Heroku dyno在代理之后运行,将流量路由到它。因此,该进程的实际主机名不是您在浏览器中使用的主机名。另一种可能的解决方案是将配置变量设置为APP_NAME到“gentle-hollows-7643-243”,然后在您的应用中使用它,如System.getenv("APP_NAME");

答案 1 :(得分:0)

请看一下

getCanonicalName()方法将返回完全限定的域名

Host Name Vs Canonical Host Name