import socket
def get_host_ip():
"""
返回内网ip
"""
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('8.8.8.8', 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
hostname = socket.gethostname()
import uuid
def get_mac_address():
"""
获取mac地址
"""
mac=uuid.UUID(int = uuid.getnode()).hex[-12:]
return ":".join([mac[e:e+2] for e in range(0,11,2)])
# 获取公网地址
from urllib.request import urlopen
from json import load
my_ip = load(urlopen('http://jsonip.com'))['ip']
my_ip
'xxx.xxx.xx.xx'
load(urlopen('http://jsonip.com'))
Out[56]:
{'ip': 'xxx.xxx.xx.xx',
'geo-ip': 'https://getjsonip.com/#plus',
'API Help': 'https://getjsonip.com/#docs'}
In [57]: urlopen('http://ip.42.pl/raw')
Out[57]: <http.client.HTTPResponse at 0x109b65490>
In [58]: urlopen('http://ip.42.pl/raw').read()
Out[58]: b'xxx.xxx.xx.xx'
In [59]: urlopen('http://ip.42.pl/raw').read()
Out[59]: b'xxx.xxx.xx.xx'
In [60]: load(urlopen('https://api.ipify.org/?format=json'))
Out[60]: {'ip': 'xxx.xxx.xx.xx'}
package main
import (
"fmt"
"net"
)
func getMacAddrs() (macAddrs string) {
netInterfaces, err := net.Interfaces()
if err != nil {
//fmt.Printf("fail to get net interfaces: %v", err)
return macAddrs
}
for _, netInterface := range netInterfaces {
macAddr := netInterface.HardwareAddr.String()
if len(macAddr) != 0 {
macAddrs = macAddr
break
}
}
return macAddrs
}
func getIPs() (ip string) {
interfaceAddr, err := net.InterfaceAddrs()
if err != nil {
//fmt.Printf("fail to get net interface addrs: %v", err)
return ip
}
for _, address := range interfaceAddr {
ipNet, isValidIpNet := address.(*net.IPNet)
if isValidIpNet && !ipNet.IP.IsLoopback() {
if ipNet.IP.To4() != nil {
ip = ipNet.IP.String()
break
}
}
}
return ip
}
func main() {
fmt.Println(getMacAddrs())
fmt.Println(getIPs())
}
网友评论