Python查找IP地址,该地址也显示在在线网站上

Python查找IP地址,该地址也显示在在线网站上,python,ip,Python,Ip,我想找出我的计算机的IP地址,其他在线服务可以访问。我已经尝试了下面的代码片段 但是,前两个返回:10.105.220.74,第三个返回127.0.1.1。 但是,在使用和时返回192.31.105.231 返回:IPv6: 2607:f140:6000:17:f0b8:ba78:a9df:213 IPv4:未检测到 注意,出于隐私原因,我稍微调整了IP地址。 谢谢你的帮助 当您在NAT路由器后面时,无法在本地计算机上获取公共地址。您需要从外部服务获取。是否有外部API允许我获取公共地址?谷歌“

我想找出我的计算机的IP地址,其他在线服务可以访问。我已经尝试了下面的代码片段

但是,前两个返回:10.105.220.74,第三个返回127.0.1.1。 但是,在使用和时返回192.31.105.231

返回:IPv6: 2607:f140:6000:17:f0b8:ba78:a9df:213 IPv4:未检测到

注意,出于隐私原因,我稍微调整了IP地址。
谢谢你的帮助

当您在NAT路由器后面时,无法在本地计算机上获取公共地址。您需要从外部服务获取。是否有外部API允许我获取公共地址?谷歌“公共ip API”有many@Barmar你能帮我找到一个合适的API吗?我进行了研究,只找到了可以查找网站的公共IP的API,而不是我自己的机器的API。我得到的前两个点击是,第一个看起来很简单。
import socket
print("\nYour IP Address is: ",end="")
print(socket.gethostbyname(socket.gethostname()))


import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
print(s.getsockname()[0])
s.close()

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
    # doesn't even have to be reachable
    s.connect(('10.255.255.255', 1))
    IP = s.getsockname()[0]
except:
    IP = '127.0.0.1'
finally:
    s.close()
print(IP)