当前位置:   article > 正文

Python 获取本机公网IPv6地址_python ipv6是否为临时地址

python ipv6是否为临时地址

1. 按

运行

ipconfig /all
  • 1

可能会得到一长一短还有一个临时的IPv6地址(本机出口默认使用临时地址),经过实际测试,发现长IPv6地址是比较稳定的(不易发生变化),因此主要想办法获取这个长的IPv6地址就行。
在这里插入图片描述

2. 获取长地址

import os
import re


def getIPv6Address():
    output = os.popen("ipconfig /all").read()
    # print(output)
    result = re.findall(r"(([a-f0-9]{1,4}:){7}[a-f0-9]{1,4})", output, re.I)
    return result[0][0]


if __name__ == "__main__":
    print(getIPv6Address())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3. 获取短地址

import os
import re


def getIPv6Address():
    output = os.popen("ipconfig /all").read()
    # print(output)
    result = re.findall(r"IPv6 地址 . . . . . . . . . . . . : ([a-f0-9:]*::[a-f0-9:]*)", output, re.I)
    return result


if __name__ == "__main__":
    print(getIPv6Address())

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

4. 访问ident.me的api获取临时地址

import requests


def getIPv6Address():
    text = requests.get('https://v6.ident.me').text
    return text


if __name__ == "__main__":
    print(getIPv6Address())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

5. 访问工信部网站的api获取临时地址

import requests


def getIPv6Address():
    text = requests.get('http://getip6.china-ipv6.cn:5010/').text
    return text


if __name__ == "__main__":
    print(getIPv6Address())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/628370
推荐阅读
相关标签
  

闽ICP备14008679号