ip / monitor_ip.py
bobocup's picture
Create monitor_ip.py
9f8f267 verified
raw
history blame
1.26 kB
import requests
import time
from datetime import datetime
import logging
# 配置日志
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(message)s',
handlers=[
logging.StreamHandler(), # 输出到控制台
logging.FileHandler('ip_log.txt') # 输出到文件
]
)
def get_ip():
try:
# 尝试多个 IP 查询服务,以防某个服务不可用
services = [
'https://api.ipify.org?format=json',
'https://ifconfig.me/ip',
'https://api.myip.com'
]
for service in services:
try:
response = requests.get(service, timeout=5)
if response.status_code == 200:
if service.endswith('json'):
return response.json()['ip']
return response.text.strip()
except:
continue
return "无法获取IP"
except Exception as e:
return f"错误: {str(e)}"
def main():
logging.info("IP 监控已启动")
while True:
ip = get_ip()
logging.info(f"当前IP: {ip}")
# 等待60秒
time.sleep(60)
if __name__ == "__main__":
main()