使用dnspodapi 实现ddns,适用于树莓派
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用dnspodapi 实现ddns,适用于树莓派,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2247字,纯文字阅读大概需要4分钟。
内容图文
python版本(适用于树莓派)
1 # !/usr/bin/env python 2 # -*-coding:utf-8-*- 3 import httplib,urllib 4 import json 5 import re,urllib2 6 import time 7 8 class Getmyip: 9 def getip(self): 10 try : 11 myip = self.visit("http://www.whereismyip.com/") 12# return myip13except: 14try: 15 myip = self.visit("http://www.bliao.com/ip.phtml") 16# return myip17except: 18try: 19 myip = self.visit("http://www.whereismyip.com/") 20# return myip21except: 22 myip = "So sorry!!!"23return myip 2425def visit(self,url): 26 opener = urllib2.urlopen(url) 27if url == opener.geturl(): 28 str = opener.read() 29 asd=re.search(‘\d+\.\d+\.\d+\.\d+‘,str).group(0) 30return asd 3132def setdnspod(newip):34 params = ‘login_email=xxxxx&login_password=xxxxx&format=json&domain_id=16415545&record_id=67237927&record_line=默认&sub_domain=www&value=‘+ newip +‘&record_type=A‘35 header = {"Content-type": "application/x-www-form-urlencoded", 36"Accept": "text/plain"} 37 conn = httplib.HTTPSConnection("dnsapi.cn") 38#获取api版本信息39#conn.request("POST","/Info.Version",params,header)40#获取domains列表41#已知"id": xxxx,"name": "xxxx"42#conn.request("POST","/Domain.List",params,header)43#设置ddns44 conn.request("POST","/Record.Modify",params,header) 45#获取记录列表46#已知 "id": "xxxx", "name": "blog", "id": "xxxx","name": "www",47#conn.request("POST","/Record.List",params,header)48 response = conn.getresponse() 49#print response.status, response.reason 50 data = response.read() 51#print(data)52 conn.close() 53 s = json.loads(data) 54return s["status"]["code"],data 5556if__name__ == ‘__main__‘: 57 getmyip = Getmyip() 58 localip=0 59while(1): 60 time.sleep(1) 61 tm_str_start = time.strftime(‘%Y-%m-%d %H:%M:%S‘,time.localtime(time.time())) 62print(tm_str_start+‘\n‘) 63 localtmp = getmyip.getip() 64if (localtmp == None): 65print(‘GET LOCAL IP ERROR!\n‘) 66else: 67if (localip != localtmp): 68 localip = localtmp 69 code,data = setdnspod(localip) 70if (code == ‘1‘): 71print(‘set new ip success:‘ + localip +‘\n‘) 72else: 73print(‘set new ip failed:‘ + code + ‘:‘ + data + ‘\n‘) 74else: 75print(‘new ip == old ip‘+‘:‘+localip+‘:‘+localtmp+‘\n‘) 7677
仅作记录
原文:http://www.cnblogs.com/hgd7123/p/3798835.html
内容总结
以上是互联网集市为您收集整理的使用dnspodapi 实现ddns,适用于树莓派全部内容,希望文章能够帮你解决使用dnspodapi 实现ddns,适用于树莓派所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。