『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 6427|回复: 0

[基础教程] 使用dnspod的动态域名解析服务DDNS

[复制链接]

6

主题

42

帖子

1014

积分

金牌会员

Rank: 6Rank: 6

积分
1014
金钱
972
HASS币
0
发表于 2020-7-20 17:14:50 | 显示全部楼层 |阅读模式
安装pydnspod第三方库
  1. 安装requests
      pip3 install requests
  2. 安装dns-dnspod
      pip3 install dns-dnspod
  3. 创建log.txt 空文件
  4. 创建xxxx.py输入下面代码
  5.创建定时任务
完整代码

import time
import re
import requests
import pydnspod
def get_local_ipv4():
    html_text = requests.get("https://ip.cn/").text
    ip_text = re.findall(r"\b(??:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", html_text)
    return ip_text[0]
user_id = ""#更换成你的Token ID
user_token = ""#更换成你的Token
domain = "baidu.com"#更换成你的域名
sub_domain = "hass"#更换成你的记录
sub_domain_id = ""#更换成你的记录ID
lgo_txt='./log.txt'
file_object = open(lgo_txt)#打开文件
ipv4 = get_local_ipv4()
try:
    file_context = file_object.read().rstrip()
    if ipv4!=file_context:
       wfile=open(lgo_txt,'w')
       wfile.write(ipv4)
       wfile.close()
       dp = pydnspod.connect(user_id,user_token)
       return_ = dp.record.modify(domain,sub_domain_id,sub_domain,"A",ipv4)
       print('已更新')
    else:
       print('不需要更新')
finally:
    file_object.close()





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 08:58 , Processed in 0.066342 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表