使用dnspodapi 实现ddns,适用于树莓派

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 myip
13         except:
14             try:
15                 myip = self.visit("http://www.bliao.com/ip.phtml")
16 #               return myip
17             except:
18                 try:
19                     myip = self.visit("http://www.whereismyip.com/")
20 #                   return myip
21                 except:
22                     myip = "So sorry!!!"
23         return myip
24
25     def visit(self,url):
26         opener = urllib2.urlopen(url)
27         if url == opener.geturl():
28             str = opener.read()
29             asd=re.search(‘\d+\.\d+\.\d+\.\d+‘,str).group(0)
30             return asd
31
32 def 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     #设置ddns
44     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)
54     return s["status"]["code"],data
55
56 if __name__ == ‘__main__‘:
57     getmyip = Getmyip()
58     localip=0
59     while(1):
60         time.sleep(1)
61         tm_str_start = time.strftime(‘%Y-%m-%d %H:%M:%S‘,time.localtime(time.time()))
62         print(tm_str_start+‘\n‘)
63         localtmp = getmyip.getip()
64         if (localtmp == None):
65             print(‘GET LOCAL IP ERROR!\n‘)
66         else:
67             if (localip != localtmp):
68                 localip = localtmp
69                 code,data = setdnspod(localip)
70                 if (code == ‘1‘):
71                     print(‘set new ip success:‘ + localip +‘\n‘)
72                 else:
73                     print(‘set new ip failed:‘ + code + ‘:‘ + data + ‘\n‘)
74             else:
75                 print(‘new ip == old ip‘+‘:‘+localip+‘:‘+localtmp+‘\n‘)
76
77  

仅作记录

使用dnspodapi 实现ddns,适用于树莓派

时间: 2024-10-11 12:43:12

使用dnspodapi 实现ddns,适用于树莓派的相关文章

Linux主机上使用交叉编译移植u-boot到树莓派

0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jessie Raspbian Jessie 1树莓派的启动过程 树莓派1,2,3的启动过程大致相同,主要分为3个阶段:ROM上的GPU bootloader启动GPU,GPU启动CPU,CPU直接启动内核或通过u-boot启动内核. 由于树莓派涉及到GPU的东西不开源,移植u-boot到树莓派并不是真正

树莓派无线网卡选择

前言:大家购买树莓派时一般都会再买一个无线网卡,除了所谓的树莓派专用无线网卡EDUP EP-N8508GS之外,是否还有其他更好的选择?我手头已有的无线网卡是否能兼容树莓派?注意本文仅适用于树莓派上可使用的USB接口无线网卡,支持802.11b/g/n无线协议,不包括802.11ac. 一.无线网卡的选择考虑因素 a)         体积(市售非常多的都是迷你USB网卡,便携方便,但是相应的散热和信号就差一点) b)         做工(一般常见的品牌售后有保障,但同时南方小作坊生产出来的不

QT树莓派交叉编译环开发环境搭建(附多个exe工具下载链接)

前两天入手了一块2.8’的tft液晶显示屏,于是和树莓派连了一发,成功将命令行显示在了这块小的可怜的屏幕上之后,觉得这屏幕就显示个黑白内容太浪费了,于是考虑开发一个”脸”(图形用户界面,GUI).首先考虑用C语言或者Python来堆图形界面,但是发现不管是C语言的图形库SDL亦或者OpenGL来堆这货都有点麻烦,毕竟我也不是想显示个太过于复杂的图形界面在那块屏幕上,只是显示一个最基本的文字数字就满足了.于是考虑到QT库.之前曾经学过一段时间的QT For Win32,那个环境很好搭建,从http

树莓派2 B编译内核及安装

以下仅适用于树莓派2 B,其他型号的树莓派请见http://elinux.org/Raspberry_Pi_Kernel_Compilation 1.将RPI上的/proc/config.gz拷贝到内核代码树,解压config.gz,重命名文件名为.config,放到内核代码树根目录 2.内核代码树下 声明CCPREFIX环境变量,提供编译器 export CCPREFIX=/path/to/your/compiler/binary/-of-binarprefixy- make ARCH=arm

树莓派.安装Samba环境

适用于树莓派3 树莓派装好系统后, 为了方便传文件到树莓派, 建议使用Samba这类文件夹级别的应用, 比ftp方便多了 如果你想把树莓派变成Nas, Samba也是不可或缺的应用 通过samba服务,可以自由.访问修改树莓派家目录下的文件.代码 1)首先安装 samba: sudo apt-get install -y samba samba-common-bin 2)然后修改配置文件: sudo vi /etc/samba/smb.conf 按上图修改 3)重启samba服务: sudo /

树莓派-入门笔记

以下内容适用于树莓派B+,内容来自网络,自己整理了一下. 一.安装系统 Raspbian 1.下载系统,地址:https://www.raspberrypi.org/downloads/,解压到PC上没有中文字符的路径下,得到.img镜像文件. 2.下载镜像安装工具win32diskimager:地址:http://pan.baidu.com/s/1kTHxRHd 密码:m6d0,解压到PC. 3.将SD卡(最少4G,推荐8G)插入读卡器(别用笔记本自带卡槽,否则刷的系统极有可能有问题),在PC

树莓派apt软件管理工具

管理安装.升级和卸载软件最简单的方法就是使用Debian上的APT(高级包管理工具).如果一个软件被打包成Debian上的包并且适用于树莓派的ARM架构,那么这个软件包同样兼容于Raspbian. 安装或者卸载软件包的时候你需要root用户权限,因此你的用户必须是sudoer用户,或者你必须使用root用户登录.更多信息参考用户管理和root用户. 安装新的包,或者更新已有的包,你需要连接互联网. 注意安装软件会消耗你的SD卡存储空间,因此你需要关注磁盘空间并使用合适大小的SD卡. 同样要注意安

物联网的开源工具

原文地址:Open Source Tools for the Internet of Things 物联网开源正在快速发展.开源的物联网软件和硬件项目可以帮助企业和DIY爱好者通过网络连接设备进行实验. 如果你近几年由于某些原因涉猎到IT行业,那么你很有可能听过"物联网"这个词.据高德纳公司所说,物联网正如日中天,很多人都对它有兴趣,但对于物联网来说,还没有太多实质性的发展.在2009年连接到网络的设备数目少于10亿台,但高德纳公司预测在2020年将有260亿台设备连接到网络,这将为制

树莓派2安装使用小米WIfi(360 小度 腾讯wifi)

截止2015-4-6,本文基于树莓派2,raspbian,内核版本3.18.10-v7+.支持AP和STA模式 以上免费wifi基于mt7601u芯片,360wifi 1代的是rt5370直接免驱. 天猫魔盘是d-link订做的,rtl芯片. 参考了诸多文章,大多数内核较老,而且由于pi2基于arm7平台,大多编译出来的无法使用. 最后在李凡希老师的博客帮助下编译成功. 针对: 1.驱动程序编译失败 2.编译成功加载模块时Exec format error(内核头文件与实际运行的内核不匹配) 一