有很多大佬搭建的查询本机公网 IP 的服务,本文记录相关内容。
可以访问获取公网 IPv4 IP 的站点:
import requests
def get_external_ip():
try:
ip = requests.get('https://ident.me').text.strip()
return ip
except:
return None
http://jsonip.com/ 在有 IPv6 地址时会优先返回 IPv6 地址
示例返回值:
{"ip":"168.138.188.194","country":"SG","geo-ip":"https://getjsonip.com/#plus","API Help":"https://getjsonip.com/#docs"}
import requests
def get_external_ip():
try:
ip = requests.get("http://jsonip.com/").json().get('ip')
return ip
except:
return None
示例返回值:
Current IP Address: 168.138.188.194
import requests
import re
url = "http://checkip.dyndns.org"
proxies={'http':'127.0.0.1:****'}
theIP = requests.get(url,proxies=proxies).text
print("your IP Address is: ", theIP)
不支持 IPv6 的网络环境下无法访问
import requests
def getIPv6Address():
text = requests.get('https://v6.ident.me').text
return text
if __name__ == "__main__":
print(getIPv6Address())
import requests
def get_external_ip():
try:
ip = requests.get("http://jsonip.com/").json().get('ip')
return ip
except:
return None
if __name__ =="__main__":
ip = get_external_ip()
print(ip)
import requests
pageURL='http://ipv6.ipv6-test.ch/ip/?callback=?'
content=requests.get(pageURL).text.strip("callback")
data = eval(content)
print(data['ip'])