How to get the IP address of my local machine in Ruby?

前端 未结 3 957
广开言路
广开言路 2020-12-24 15:23

I am doing Rails development in Ubuntu 12.04LTS OS.

I want to capture my local IP address in a file, not the loopback 127.0.0.1, the one which I get using ifc

3条回答
  •  醉酒成梦
    2020-12-24 16:16

    Write below method

    def self.local_ip
        orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true
        UDPSocket.open do |s|
          s.connect '64.233.187.99', 1
          s.addr.last
        end
        ensure
          Socket.do_not_reverse_lookup = orig
     end
    

    and then call local_ip method, you will get ip address of your machine.

    Eg: ip_address= local_ip
    

提交回复
热议问题