下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
[email protected]:~# cat syncip.rb #!/usr/bin/env ruby #encoding:utf-8 #code by johnlen shaw require 'socket' require 'net/http' require 'net/https' require 'time' require 'open-uri' require 'net/telnet' $parms = { "login_email" => "[email protected]","login_password" => "xxxxxx","format" => "json","domain_id" => 1012096,"record_id" => 15271821,"sub_domain" => "d610","record_line" => "默认","value" => "" } current_ip = nil def getip begin server = Net::Telnet::new('Host' => 'ns1.dnspod.net','Port' => 6666,'Telnetmode' => false) server.cmd("\n") do |response| return response end rescue Exception => ex sleep(30) getip end end def ddns(ip) $parms["value"] = ip.chomp.to_s url = URI.parse('https://dnsapi.cn:443/Record.Ddns') http = Net::HTTP.new(url.host,url.port) http.use_ssl = true if url.scheme == 'https' request = Net::HTTP::Post.new(url.path) request.set_form_data($parms) puts http.request(request).body return true end if $0 == __FILE__ # begin loop do puts ip = getip if current_ip != ip then if ddns(ip) then current_ip = ip end end sleep(60) end # rescue Exception => ex # p ex # return "Debug and fix me please." # end end
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。