perl利用DNSPOD API获取域名的各个地区的解析

#!/usr/bin/perl
use 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)[email protected]_;
	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)[email protected]_;
	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, [ ‘login_email‘ => "$mail",‘login_password‘ => "$pass",‘format‘ => ‘json‘,"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 , 刚入门 写的有点乱。

时间: 2024-10-17 20:00:08

perl利用DNSPOD API获取域名的各个地区的解析的相关文章

开源项目成熟度分析工具-利用github api获取代码库的信息

1.github api github api是http形式的api,功能还是比较丰富的,博主因为项目的原因主要用到的是提取project信息这项功能,返回的数据是JSON格式. api页:https://developer.github.com/v3/ Options: (H) means HTTP/HTTPS only, (F) means FTP only --anyauth Pick "any" authentication method (H) -a, --append Ap

VS2008 C++ 利用WinHttp API获取Http请求/响应头部Header

http://www.cnblogs.com/LCCRNblog/p/3833472.html 这一篇博客中,实现了获取http请求/响应后的html源码,现在需要获取http请求/响应的头部Header..通过对WinHttp Api的查看,现给出实现代码.. 1 // WinHttpTest.cpp : 定义控制台应用程序的入口点. 2 // 3 //#include <stdafx.h> 4 #include <vector> 5 #include <winsock2.

VS2008 C++ 利用WinHttp API获取任意Http网址的源码

最近一直在看有关Http的知识,对其基本的理论知识已经有所掌握,想通过一个C++具体的例子进行实际操作..于是上网查找了很多资料,发现在Windows系统上,可以通过WinHttp API接口开啊Http,于是仿照网上例子编写一个获取网页源码的C++程序.其中的代码基本是copy网友,主要是自己对代码的理解,并以此作为入门. 例子代码如下: 1 // WinHttpTest.cpp : 定义控制台应用程序的入口点. 2 // 3 //#include <stdafx.h> 4 #include

利用Zabbix API 获取各个分组下的服务器列表以及详细信息

现在越来越多的公司选择使用开源软件Zabbix来做服务器业务监控,其高逼格的用户管理是个亮点,所以可以通过调用它的接口将权限管理应用到很多地方,比如说堡垒机权限.以下是用python简单写了个小脚本,通过定义分组名便可以得到分组下的服务器信息. #coding=utf-8 __author__ = 'Perling' from urllib import urlencode import urllib2 import json def post(post_data):     api_url =

爬虫——python——百度地图经纬度查询——经纬度查看地点地名——利用百度API获取地名经纬度——爬取所有的中国地址

import requests address = '40.8587960,86.866991' url = 'http://api.map.baidu.com/geocoder?output=json&key=f247cdb592eb43ebac6ccd27f796e2d2&location=' + str(address) response = requests.get(url) answer = response.json() print('得到反解数据', answer) 使用py

HTML5 利用百度地图API获取当前位置

由于项目需要定位到城市,研究了地理定位,做了一些手记,和大家分享一下~ 项目的开发需求是获取到当前用户的位置,然后为用户提供一些服务. 此时可以采用两种定位方式,一种是用GPS的定位,然后将定位到的经纬度传递到百度地图的API接口当中.另一种方法是利用百度API接口,使用IP地址定位,然后使用IP地址获取到的经纬度,传递到百度地图API接口中. 自己尝试使用了这两种方式进行定位.相对来说,IP地址定位,偏差比较大.GPS定位虽然还可以,但是也不足够精确.产生比较大偏差的原因有可能是以下几点造成的

利用未公开API获取终端会话闲置时间(Idle Time)和登入时间(Logon Time)

利用未公开API获取终端会话闲置时间(Idle Time)和登入时间(Logon Time)作者:Tuuzed(土仔)   发表于:2008年3月3日23:12:38 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明.http://www.cppblog.com/tuuzed/archive/2008/03/03/43631.html 可能很多人都知道NT系统的query user命令,命令返回“使用者名称 工作阶段名称 识别码 状态 闲置时间 登入时间”.如图

dnspod api调用脚本

[[email protected] dnspod]# cat dnspod.sh #!/bin/bash function menu() { clear echo "*********************Dnspod************************" echo "* 1,将加速乐cname批量修改到dnspod *" echo "* 2, 将ip批量修改到dnspod *" echo "* 3, 单个域名修改 *&

利用反射api查找一个类的详细信息

说到这个实例,首先介绍下本人,我是一个php程序员,从事drupal开发2年多,可以说从实习开始就接触这个,至今没有换过,drupal给我的感觉是俩字"强大",今天写一个views的字段,然后需要继承views的views_handler_field类,还要自己实现里面的一些方法,走一些自己的配置设置,查看这个类的时候,发现实在是太多信息了,并且做了好些继承,于是我就想要是能实现一个功能,传入一个类名,然后就能返回类的所有信息(包括,属性,方法,继承,接口,并且这些类所放置的文件位置,