geew
V2EX  ›  问与答

python 怎么获取本机 ip 呢

  •  
  •   geew · Nov 6, 2014 · 2582 views
    This topic created in 4208 days ago, the information mentioned may be changed or developed.
    局域网ip或者外网ip都行 只要不是127.0.0.1

    google了一下 用了这个
    socket.gethostbyname(socket.gethostname())
    原来一直没问题的, 但今天发现竟然会报错....
    gaierror: [Errno -2] Name or service not known
    4 replies    2014-11-06 15:51:13 +08:00
    gangsta
        2
    gangsta  
       Nov 6, 2014
    sof上看到一个很hackish的写法:

    import socket
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM);
    s.connect(('8.8.8.8', 80));
    print(s.getsockname()[0]);
    s.close();
    geew
        3
    geew  
    OP
       Nov 6, 2014
    @gangsta 这...
    caiych
        4
    caiych  
       Nov 6, 2014
    import urllib2
    urllib2.urlopen('http://ifconfig.co/all.json').read()
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1519 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 604ms · UTC 16:47 · PVG 00:47 · LAX 09:47 · JFK 12:47
    ♥ Do have faith in what you're doing.