python访问你自己的公网ip地址

2022-03-11 00:00:00 自己的 地址 公网

本代码通过查询那些提供ip地址查看的网站获取你自己的真实ip地址,如果你当前离线,则返回None

"""
作者:皮蛋编程(https://www.pidancode.com)
创建日期:2022/3/18
修改日期:2022/3/18
功能描述:python获取自己的公网ip地址
"""
import traceback
import urllib.request
import random
import re


def get_public_ip():
    # 可以获取IP地址的网站列表
    hosts = ['http://ifconfig.me/']

    ip_regex = re.compile(r"(([0-9]{1,3}\.){3}[0-9]{1,3})")

    host = random.choice(hosts)
    try:
        html_content = repr(urllib.request.urlopen(host).read(200000))
        results = ip_regex.findall(html_content)
        if results:
            return results[0][0]
    except:
        print(traceback.format_exc())

    return None


print(get_public_ip())

以上代码在Python3.9环境下测试通过。

相关文章