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调用失败,它不会尝试重新更新。在实际应用中,你可能需要添加错误处理和重试逻辑。

标签: none

已有 4 条评论

  1. python? 这个是实现将网站解析到本机,然后通过外网可以访问?
    1. 是的,但是我没有搞成功
      1. 哈哈哈,好多年前用花生壳折腾过。 这个还是要点维护成本,还要一直开机

添加新评论