我正在尝试获取我在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架构而错误地工作了?
答案 0 :(得分:1)
我认为你不能得到你所追求的东西。 Heroku dyno在代理之后运行,将流量路由到它。因此,该进程的实际主机名不是您在浏览器中使用的主机名。另一种可能的解决方案是将配置变量设置为APP_NAME
到“gentle-hollows-7643-243”,然后在您的应用中使用它,如System.getenv("APP_NAME");
答案 1 :(得分:0)