{"id":3908,"date":"2018-05-05T21:15:05","date_gmt":"2018-05-05T13:15:05","guid":{"rendered":"https:\/\/ixyzero.com\/blog\/?p=3908"},"modified":"2018-05-05T21:15:05","modified_gmt":"2018-05-05T13:15:05","slug":"python%e4%b8%ad%e5%a6%82%e4%bd%95%e8%8e%b7%e5%8f%96%e5%bd%93%e5%89%8d%e6%9c%ba%e5%99%a8%e7%9a%84ip%e5%9c%b0%e5%9d%80","status":"publish","type":"post","link":"https:\/\/ixyzero.com\/blog\/archives\/3908.html","title":{"rendered":"Python\u4e2d\u5982\u4f55\u83b7\u53d6\u5f53\u524d\u673a\u5668\u7684IP\u5730\u5740"},"content":{"rendered":"<p>=Start=<\/p>\n<h4 id=\"id-\u6a21\u677f-\u7f18\u7531\uff1a\">\u7f18\u7531\uff1a<\/h4>\n<p>\u6574\u7406\u3001\u8bb0\u5f55<\/p>\n<h4 id=\"id-\u6a21\u677f-\u6b63\u6587\uff1a\">\u6b63\u6587\uff1a<\/h4>\n<h5 id=\"id-\u6a21\u677f-\u53c2\u8003\u89e3\u7b54\uff1a\">\u53c2\u8003\u89e3\u7b54\uff1a<\/h5>\n<pre class=\"lang:default decode:true \">import socket\r\nimport fcntl\r\nimport struct\r\n\r\ndef get_ip_address(ifname):\r\n    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\r\n    return socket.inet_ntoa(fcntl.ioctl(\r\n        s.fileno(),\r\n        0x8915,  # SIOCGIFADDR\r\n        struct.pack('256s', ifname[:15])\r\n    )[20:24])\r\n\r\nget_ip_address('eth0')  # '192.168.0.110'<\/pre>\n<p>&amp;<\/p>\n<pre class=\"lang:default decode:true\">import socket\r\nsocket.gethostbyname(socket.gethostname())<\/pre>\n<p>&amp;<\/p>\n<pre class=\"lang:default decode:true\">import socket\r\ndef get_ip():\r\n    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\r\n    try:\r\n        # doesn't even have to be reachable\r\n        s.connect(('10.255.255.255', 1))\r\n        IP = s.getsockname()[0]\r\n    except:\r\n        IP = '127.0.0.1'\r\n    finally:\r\n        s.close()\r\n    return IP<\/pre>\n<h5 id=\"id-\u6a21\u677f-\u53c2\u8003\u94fe\u63a5\uff1a\">\u53c2\u8003\u94fe\u63a5\uff1a<\/h5>\n<ul>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/166506\/finding-local-ip-addresses-using-pythons-stdlib\">Finding local IP addresses using Python&#8217;s stdlib<\/a><\/li>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/24196932\/how-can-i-get-the-ip-address-of-eth0-in-python\">How can I get the IP address of eth0 in Python?<\/a><\/li>\n<\/ul>\n<p>=END=<\/p>\n","protected":false},"excerpt":{"rendered":"<p>=Start= \u7f18\u7531\uff1a \u6574\u7406\u3001\u8bb0\u5f55 \u6b63\u6587\uff1a \u53c2\u8003\u89e3\u7b54\uff1a import socket import fcntl  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,7,12],"tags":[8,173],"class_list":["post-3908","post","type-post","status-publish","format-standard","hentry","category-knowledgebase-2","category-programing","category-tools","tag-python","tag-socket"],"views":3212,"_links":{"self":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/comments?post=3908"}],"version-history":[{"count":1,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3908\/revisions"}],"predecessor-version":[{"id":3909,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3908\/revisions\/3909"}],"wp:attachment":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/media?parent=3908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/categories?post=3908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/tags?post=3908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}