golang 自更新DDNS脚本
一、首先你得从https://www.dnsdynamic.org/ 去注册一个帐号,并申请一个二级域名
二、代码
packagemain import( "fmt" "io/IoUtil" "net/http" "strings" "time" ) //Myipinfo typeIpInfostruct{ IpAddstring IsUpdatebool GetTimetime.Time } varMYIP[1]*IpInfo funcgetMyIp(urlsstring)string{ myip:="" reqest,err:=http.Get(urls) iferr==nil{ deferreqest.Body.Close() b,_:=IoUtil.ReadAll(reqest.Body) returnstring(b) } returnmyip } funccheckIP(newIPstring){ ifnewIP!=MYIP[0].IpAdd{ MYIP[0].IpAdd=newIP MYIP[0].IsUpdate=false MYIP[0].GetTime=time.Now() } if!MYIP[0].IsUpdate{ updateIP() } } funcupdateIP(){ url:=fmt.Sprintf("%s%s","https://xxxx@xxxx.com:xxxx@www.dnsdynamic.org/api/?hostname=xxxx.dnsget.org&myip=",MYIP[0].IpAdd) reqest,err:=http.Get(url) iferr!=nil{ return } deferreqest.Body.Close() b,_:=IoUtil.ReadAll(reqest.Body) spiltB:=strings.Split(string(b),"") ifspiltB[0]=="good"{ MYIP[0].IsUpdate=true } } funcmain(){ //Initialization MYIP[0]=new(IpInfo) for{ newIP:=getMyIp("http://myip.dnsdynamic.org") checkIP(newIP) time.Sleep(300*time.Second) } }
三、说明 :将代码中的xxxx更换为你在DNSdynamic网站上的信息,即可
四、运行,每五分钟检查一下IP是否有变化,哈哈!你们自个儿玩去吧
原文地址:https://www.jb51.cc/go/190984.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。