最近在爬虫中尝试了拨号的服务器,每次拨号可以更换公网ip,于是想记录一下ip地址。
在linux下直接使用ifconfig命令就能看到网卡信息。
import socket
import fcntl
import struct
def get_ip_address(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
return socket.inet_ntoa(
fcntl.ioctl(
s.fileno(), 0x8915, struct.pack('256s', ifname[:15].encode('utf-8'))
)[20:24])
print(get_ip_address('ppp0'))