#!/usr/bin/perluse strict;use warnings;use LWP::UserAgent;use JsON;use Encode;my $mail='user';my $pass='pass';my $domain_info_url='https://dnsAPI.cn/Domain.Info';my $record_List_url='https://dnsAPI.cn/Record.List';sub get_domain_ID { ###获取数据 my ($domain)=@_; my $UA = LWP::UserAgent->new; $UA->default_header( 'User-Agent' => 'TEST DNS ClIEnt/1.0.0 ([email protected])' ); my $response = $UA->post( $domain_info_url, [ 'login_email' => "$mail",'login_password' => "$pass",'format' => 'Json',"domain" => "$domain"] ); my @string = $response->content; ###利用JsON 处理数据 my $Json_obj; my $Json = new JsON; foreach (@string){ $Json_obj = $Json->decode("$_"); } return $Json_obj->{'domain'}->{'ID'};}sub get_record_List { my ($domain_ID,$sub_domain)=@_; my $UA = LWP::UserAgent->new; $UA->default_header( 'User-Agent' => 'TEST DNS ClIEnt/1.0.0 ([email protected])' ); my $response = $UA->post( $record_List_url,"domain_ID" => "$domain_ID","sub_domain" => "$sub_domain"] ); return $response->content;}my $Json_obj;my $Json = JsON->new->utf8;foreach (get_record_List(get_domain_ID("main_domain.com"),"test")){ $Json_obj = $Json->decode("$_");}###main_domain.com为主域名,test二级域名my ($cast,@t);for my $item(@{$Json_obj->{'records'}}){ $cast = $item->{'ttl'} . "_" . $item->{'line'} . "_" . $item->{'value'}; push (@t,$cast);}#####此处可以获取的值: # "ID": "744",# "name": "hot",# "line": "默认",# "type": "A",# "ttl": "60",# "value": "1.1.1.1",# "mx": "0",# "enabled": "1",# "status": "enabled",# "monitor_status": "",# "remark": "",# "updated_on": "2014-07-30 12:38:44",# "use_aqb": "no" foreach (@t){ my $re = encode("gb2312",$_); print "$re\n";}
以上是自己写的一个perl , 刚入门 写的有点乱。
总结以上是内存溢出为你收集整理的perl利用DNSPOD API获取域名的各个地区的解析全部内容,希望文章能够帮你解决perl利用DNSPOD API获取域名的各个地区的解析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)