使用 InetAddress 在 heroku 上查找 DNS 主机名
Using InetAddress to find DNS host name on heroku
我正在尝试获取我 运行 在 Heroku 中使用的机器的主机名。我想要得到的是这样的:https://gentle-hollows-7643-243.com
我现在用的是InetAddress
class里面的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 架构而无法正常工作?
请看这个
getCanonicalName() 方法将 return 完全限定域名
Host Name Vs Canonical Host Name
我不认为你能得到你想要的。 Heroku dyno 在将流量路由到它的代理后面运行。所以进程的实际主机名不是您在浏览器中使用的主机名。另一种可能的解决方案是将 APP_NAME
之类的配置变量设置为 "gentle-hollows-7643-243",然后在您的应用程序中使用它,例如 System.getenv("APP_NAME");
我正在尝试获取我 运行 在 Heroku 中使用的机器的主机名。我想要得到的是这样的:https://gentle-hollows-7643-243.com
我现在用的是InetAddress
class里面的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 架构而无法正常工作?
请看这个
getCanonicalName() 方法将 return 完全限定域名
Host Name Vs Canonical Host Name
我不认为你能得到你想要的。 Heroku dyno 在将流量路由到它的代理后面运行。所以进程的实际主机名不是您在浏览器中使用的主机名。另一种可能的解决方案是将 APP_NAME
之类的配置变量设置为 "gentle-hollows-7643-243",然后在您的应用程序中使用它,例如 System.getenv("APP_NAME");