示例#1
0
def _main(client, ip):
    from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import *
    from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import *

    for rr, domain_name, type_ in config.RECORDS:
        req = DescribeDomainRecordsRequest()
        req.set_TypeKeyWord(type_)
        req.set_DomainName(domain_name)
        req.set_RRKeyWord(rr)
        records = json.loads(client.do_action_with_exception(req))['DomainRecords']['Record']

        if records:
            record = records[0]
            if record['Value'] == ip:
                logging.debug('%s.%s is already %s', rr, domain_name, ip)
            else:
                logging.info('Updating %s.%s from %s to %s',
                             rr, domain_name, record['Value'], ip)
                update = UpdateDomainRecordRequest()
                update.set_RecordId(record['RecordId'])
                update.set_RR(rr)
                update.set_Type(type_)
                update.set_Value(ip)
                client.do_action_with_exception(update)
        else:
            logging.warning('No such record %s.%s, skipping for now.',
                            rr, domain_name)
示例#2
0
#---------------------------------------------------------------------------------

client = AcsClient(accesskeyid, accesssecret, 'cn-hangzhou')  #Aliyun AccessKey

#---------------------------------------------------------------------------------

if ipv4 == 'true':  #Judging whether IPV4 DDNS is open

    print('Your IPV4 DDNS is open.')

    #Describe IPV4 Records
    describev4 = DescribeDomainRecordsRequest()  #Start Describe Domain Records
    describev4.set_accept_format('json')

    describev4.set_DomainName(domain)  #Main Domain
    describev4.set_RRKeyWord(rr)  #Your RRKeyWord
    describev4.set_TypeKeyWord("A")  #Your Record Type

    describebackv4 = client.do_action_with_exception(
        describev4)  #Get Back JSON
    # python2:  print(response)
    print(str(describebackv4, encoding='utf-8'))  #Print JSON

    #---------------------------------------------------------------------------------

    #Read IPV4 JSON
    recordlistv4 = json.loads(describebackv4)  #Read Back JSON
    recordidv4 = recordlistv4['DomainRecords']['Record'][0][
        'RecordId']  #Get RecordId From Back JSON
    print('Your IPV4 RecordId:')
    print(recordidv4)