python 更新当前公网IP到DNSPod上:python dnspod.py“邮箱”“密码”“域名”“头”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 更新当前公网IP到DNSPod上:python dnspod.py“邮箱”“密码”“域名”“头”相关的知识,希望对你有一定的参考价值。

import sys
import json
import requests

email = sys.argv[1]
password = sys.argv[2]
domain = sys.argv[3]
subDomain = sys.argv[4]

authJSON = requests.post('https://api.dnspod.com/Auth',
    data = {
        'login_email': email,
        'login_password': password,
        'format': 'json'
    }
).json()

userToken = authJSON['user_token']

domainJSON = requests.post('https://api.dnspod.com/Domain.List', data = {
        'user_token': userToken,
        'format': 'json'
    }
).json()

domainID = [obj for obj in domainJSON['domains'] if(obj['name'] == domain)][0]['id']

recordJSON = requests.post('https://api.dnspod.com/Record.List',
    data = {
        'user_token': userToken,
        'domain_id': domainID,
        'format': 'json'
    }
).json()

recordID = [obj for obj in recordJSON['records'] if(obj['name'] == subDomain)][0]['id']

ip = requests.get('http://ipinfo.io').json()['ip']

modifiText = requests.post('https://api.dnspod.com/Record.Modify',
    data = {
        'user_token': userToken,
        'domain_id': domainID,
        'record_id': recordID,
        'sub_domain': subDomain,
        'value': ip,
        'record_type': 'A',
        'record_line': 'default',
        'format': 'json'
    }
).text

print(modifiText)

以上是关于python 更新当前公网IP到DNSPod上:python dnspod.py“邮箱”“密码”“域名”“头”的主要内容,如果未能解决你的问题,请参考以下文章

每步动态域名解析

Cloudflare配置动态dns(ddns)

我的服务器放在家里的,网安装的是电信10兆网,域名可以用DNSPoD映射解析吗?

使用脚本更新阿里云DNS记录

怎么把本地ip和端口映射到公网上?

利用Python3获取办公室的公网IP并修改阿里云安全组规则