利用dnspod解析动态IP脚本
import requests
import json
import os
import socket
DNSPod配置
DOMAIN = 'yourdomain.com' # 你的域名
SUB_DOMAIN = 'subdomain' # 你希望更新的子域名
RECORD_ID = '123456' # DNS记录的ID,需要你从DNSPod获取
TOKEN = 'yourtoken' # DNSPod的API Token
获取当前动态IP
def get_external_ip():
try:
return socket.gethostbyname(socket.gethostname())
except:
return '127.0.0.1'
更新DNS记录
def update_dns(ip):
payload = {
'sub_domain': SUB_DOMAIN,
'record_id': RECORD_ID,
'record_type': 'A',
'token': TOKEN,
'value': ip
}
response = requests.post(f'https://dnsapi.cn/Record.Modify', data=payload)
result = json.loads(response.text)
if result['status']['code'] == '1':
print('DNS updated successfully.')
else:
print('Failed to update DNS.')
主程序
if name == '__main__':
external_ip = get_external_ip()
update_dns(external_ip)
在使用此脚本之前,请确保你已经在DNSPod获取了RECORD_ID和TOKEN。你需要替换yourdomain.com、subdomain和127.0.0.1为你的实际信息。
此脚本首先定义了获取本地IP和更新DNS记录的函数。主程序部分调用这些函数来更新你的DNS记录。
注意:这个脚本没有错误处理,如果API调用失败,它不会尝试重新更新。在实际应用中,你可能需要添加错误处理和重试逻辑。
- 上一篇: diyp内置源接口教程
- 下一篇: 派大星内置方法