诗歌rails之获取本地ip地址

都是基于linux平台的

典型的不好的办法是
Ruby代码
  1. `ifconfig`.slice(/[\d|.]+  Bcast/).sub(/  Bcast/,'')  
`ifconfig`.slice(/[\d|.]+  Bcast/).sub(/  Bcast/,'')



人家比较好的办法是
Ruby代码
  1. ###############  
  2. # local_ip  
  3. # This is to get around using ifconfig shell calls to get an ip address  
  4. # Described here  
  5. #http://coderrr.wordpress.com/2008/05/28/get-your-local-ip-address/  
  6. ###############  
  7. require 'socket'  
  8. def get_local_ip    
  9.   orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true    
  10. # turn off reverse DNS resolution temporarily    
  11.    
  12.   UDPSocket.open do |s|    
  13.     s.connect '64.233.187.99', 1  #google的ip  
  14.     s.addr.last    
  15.   end    
  16. ensure    
  17.   Socket.do_not_reverse_lookup = orig    
  18. end    
  ###############
  # local_ip
  # This is to get around using ifconfig shell calls to get an ip address
  # Described here
  #http://coderrr.wordpress.com/2008/05/28/get-your-local-ip-address/
  ###############
  require 'socket'
  def get_local_ip  
    orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true  
  # turn off reverse DNS resolution temporarily  
   
    UDPSocket.open do |s|  
      s.connect '64.233.187.99', 1  #google的ip
      s.addr.last  
    end  
  ensure  
    Socket.do_not_reverse_lookup = orig  
  end  

转载于:https://www.cnblogs.com/orez88/articles/1553062.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值