如何解析树莓派加python3脚本实现自动上报ip到万网域名

这期内容当中小编将会给大家带来有关如何解析树莓派加python3脚本实现自动上报ip到万网域名,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

成都创新互联专业为企业提供大柴旦网站建设、大柴旦做网站、大柴旦网站设计、大柴旦网站制作等企业网站建设、网页设计与制作、大柴旦企业网站模板建站服务,十多年大柴旦做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

依赖:

  • 树莓派3b

  • 万网域名(需要申请APIkey)

python3 模块:

  • requests

  • aliyun-python-sdk-core-v3

  • aliyun-python-sdk-aliDNS

脚本如下:

import requests
import json

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkalidns.request.v20150109 import UpdateDomainRecordRequest, DescribeDomainRecordInfoRequest

DOMAIN = '*.com'
RID = '该域名的rid'

client = AcsClient(
    "appkey",
    "appsecret",
    "cn-hangzhou"
)


def ip():
    #自己写的获取源 IP服务
    r = requests.get('http://*.*.com/get/ip') 
    if r.status_code == 200:
        return r.text
    else:
        return None


def update_record(cip, old):
    update_pi(cip)
    req = UpdateDomainRecordRequest.UpdateDomainRecordRequest()
    req.set_RecordId(RID)
    req.set_RR(old['RR'])
    req.set_Type(old['Type'])
    req.set_Value(cip)
    resp = client.do_action_with_exception(req)
    print(resp)
    return True


def update_pi(cip):
    postdata = {'ip': ip}
    #自己写的记录IP变化的web服务
    r = requests.post('http://*.*.com/pi/ip', data=postdata)
    return r.text == 'ok'


def connect_dns():
    cip = ip()
    if not cip:
        return False

    req = DescribeDomainRecordInfoRequest.DescribeDomainRecordInfoRequest()
    req.set_RecordId(RID)
    resp = client.do_action_with_exception(req).decode('utf-8')
    old = json.loads(resp)
    if cip == old['Value']:
        return True
    else:
        return update_record(cip, old)


if __name__ == '__main__':
    connect_dns()

然后放置在crontab 每半个小时执行一次,用来自动检测和更新

上述就是小编为大家分享的如何解析树莓派加python3脚本实现自动上报ip到万网域名了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。

新闻名称:如何解析树莓派加python3脚本实现自动上报ip到万网域名
分享链接:https://www.cdcxhl.com/article8/pdgiip.html

成都网站建设公司_创新互联,为您提供软件开发全网营销推广网站制作网页设计公司定制开发面包屑导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设