首页 / 知识
关于网络:在Ruby on Rails中获取主机名或IP
2023-04-14 03:11:00

Getting the Hostname or IP in Ruby on Rails我正在维护Ruby on Rails应用程序,并且正在寻找一种简单的方法来查找我所在盒子的主机名或IP地址(因为它是VM,并且新实例可能具有不同的主机名或IP地址) 。 在Ruby on Rails中有快速简便的方法吗? 编辑:下面的答案是正确的,但是提供的澄清Craig很有用(另请参见答案中提供的链接):
主机名 在Ruby中获取主机名的一种简单方法是:
问题在于,这依赖于主机知道自己的名称,因为主机使用
从功能上讲,这与 IP地址
从ruby 1.9开始,您还可以使用Socket库获取本地地址列表。
从coderrr.wordpress.com:
尝试这个:
一台服务器通常具有多个接口,至少一个专用接口和一个公用接口。
由于这里的所有答案都涉及这种简单情况,因此一种更干净的方法是向Socket索要当前的
两者都返回一个Addrinfo对象,因此,如果需要一个字符串,则可以使用
通过更改用于过滤所需接口地址的Addrinfo方法,您可以轻松地找到更合适的解决方案。 这里使用的IP地址是Google的,但您可以使用任何可访问的IP。
最简单的是controller.rb中的
与使用
对于正在使用的IP地址(您的计算机可能具有多个网络接口),
可接受的答案有效,但是您必须为每个请求创建一个套接字,并且如果服务器位于本地网络上和/或未连接到Internet,则套接字无效。我相信下面的内容将一直有效,因为它正在解析请求标头。
将突出显示的部分放在反引号中:
如果您不在乎它是否是IP,则只需
IO应该一直可用。该脚本的唯一问题是,如果
您可能会发现自己在每台计算机上都有多个IP地址(127.0.0.1、192.168.0.1等)。如果您使用* NIX作为操作系统,建议您使用 另一种选择是点击查找服务,例如WhatIsMyIp.com。这些家伙会把您的真实IP地址发给您。您也可以根据需要在本地服务器上轻松地使用Perl脚本进行设置。我相信3%左右的代码可以从%ENV输出远程IP来覆盖您。 尝试:Request.remote_ip
更新: |
最新内容
相关内容
linux命令获取主机名?
linux命令获取主机名?,工作,地址,管理,系统,信息,命令,目录,软件,代码,策略,Linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目录linux网络命令查询?
linux网络命令查询?,信息,网络,系统,地址,工作,状态,技术,电脑,命令,设备,linux查看系统网卡信息命令?方法一:ethtool eth0 采用此命令可以查看linux修改地址命令?
linux修改地址命令?,地址,系统,代码,网络,服务,信息,密码,命令,管理,基础,linux设置ip地址?打开Linux终端系统,然后在系统中输入如下代码。然后linux网络延时命令?
linux网络延时命令?,网络,时间,检测,地址,电脑,系统,设备,工具,基础,管理,linux计划任务如何实现延时执行脚本,求简洁实例首先,连接相应linux主linux网络联通命令?
linux网络联通命令?,网络,地址,工作,系统,信息,联通,电脑,命令,检测,管理,Linux下必须知道的11个网络命令netstat -r:打印路由表。路由表保存在linux查看命令的地址?
linux查看命令的地址?,地址,系统,网络,信息,设备,电脑,手机,终端,技术,环境,linux查询ip地址命令输入以下命令:ipaddrshow。每个设备的IP地址位linux命令查找字符串?
linux命令查找字符串?,工具,信息,命令,字符串,系统,工作,文件,范本,样式,文本,Linux中使用grep命令,查询多个字符串Linux grep命令用于查找文linux地址查询命令?
linux地址查询命令?,地址,网络,系统,工作,信息,设备,名称,标准,手机,管理,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目修改主机名命令linux?
修改主机名命令linux?,系统,地址,服务,主机名,网络,情况,名称,查询系统,异常,观察,linux(CentOS7)下如何永久修改主机名1、Centos7修改主机名linux网络驱动器命令?
linux网络驱动器命令?,网络,系统,电脑,最新,位置,检测,地址,材料,数据,命令,linux下如何映射windows网络驱动器1、现在你需要安装 windbind 让linux网络下载命令?
linux网络下载命令?,软件,工具,网络,系统,服务,密码,名称,平台,官网,盘中,Linux中使用SecureCRT上传.下载文件命令sz与rz用法实例1、下载文件linux网络连通性命令?
linux网络连通性命令?,网络,系统,情况,地址,环境,资料,工具,端口,服务,检测,Linux系统下怎么测试端口的连通性1、可以看到默认是使用TCP进行测