#!/usr/bin/perl
use LWP::UserAgent;
use Data::Dumper;
my $dmapiURL = "https://dmapi.joker.com/request";
my $ua = LWP::UserAgent-> new;
my $req = HTTP::Request-> new(GET => $dmapiURL.'/login?username='.shift().'&password='.shift());
my $res = $ua-> request($req);
unless ($res-> is_success) {
print "Failed: ", $res-> status_line, "n";
exit -1;
}
my $auth=$res-> as_string;
my $output;
if ($auth =~ /Auth-Sid:s*(w+)/ms) {
$req=HTTP::Request-> new(GET => $dmapiURL.'/query-domain-list?auth-sid='.$1);
$res = $ua-> request($req);
if ($res-> is_success) {
$output=$res-> content;
}
else{
print "Failed: ", $res-> status_line, "n";
exit -2;
}
}
else {
print "Failed: Got no auth-id from DMAPI:n";
print $res-> content;
exit -3;
}
my @lines=split ("n",$output);
my $month=now + ("2M");
my %list;
my $p=0;
for my $line(@lines) {
#Skip first line
next unless $p or $line =~ /^s*$/;
unless ($p) { $p=1; next};
my ($fqdn,$exp)=split ("[ t]+",$line);
$list{$fqdn}=$exp;
}
for (sort keys %list) {
print "$_n";
}
Last update: 2016-01-13 16:59
Needs:
Class::Date and Date::Parse from CPAN!
#!/usr/bin/perl
use LWP::UserAgent;
use Data::Dumper;
use Class::Date qw(:errors date localdate gmdate now -DateParse);
my $dmapiURL = "https://dmapi.joker.com/request";
my $ua = LWP::UserAgent-> new;
my $req = HTTP::Request-> new(GET => $dmapiURL. '/login?username='.shift().'&password='.shift());
my $res = $ua-> request($req);
unless ($res-> is_success) {
print "Failed: ", $res-> status_line, "n";
exit -1;
}
my $auth=$res-> as_string;
my $output;
if ($auth =~ /Auth-Sid:s*(w+)/ms) {
$req=HTTP::Request-> new(GET => $dmapiURL. '/query-domain-list?auth-sid='.$1);
$res = $ua-> request($req);
if ($res-> is_success) {
$output=$res-> content;
}
else {
print "Failed: ", $res-> status_line, "n";
exit -2;
}
}
else {
print "Failed: Got no auth-id from DMAPI:n";
print $res-> content;
exit -3;
}
my @lines=split ("n",$output);
my $month=now + ("2M");
my %list;
my $p=0;
for my $line(@lines) {
#Skip first line
next unless $p or $line =~ /^s*$/;
unless ($p) { $p=1; next};
my ($fqdn,$exp)=split ("[ t]+",$line);
next unless localdate($exp) < $month;
$list{$fqdn}=$exp;
}
for ( map {$_-> [0]}
sort {
$a-> [1] < => $b-> [1]
||
$a-> [2] cmp $b-> [2]
}
map {[$_, localdate $list{$_},$_]}
keys %list ) {
print "$_:".$list{$_}."n";
}
Last update: 2012-09-27 15:45
# # replace admin-c in multiple domains # #!/usr/bin/perl use LWP::UserAgent; use Data::Dumper; my $ua = LWP::UserAgent->new; my $req = HTTP::Request->new(GET => 'https://dmapi.joker.com/request/login?username='.shift().'&password='.shift()); my $res = $ua->request($req); #--Admin-C : my %ADMIN = ( de =>'CODE-12345' , org => 'CORG-12345', com => 'CCOM-12345', 'eu' => 'c12345' ); unless ($res->is_success) { print "Failed: ", $res->status_line, "\n"; exit -1; } my $auth=$res->as_string; my $output; if ($auth =~ /Auth-Sid:\s*([a-z0-9]+)/m ) { $auth = $1; } else { print "Failed: Got no auth-id from DMAPI:\n"; print $res->content; exit -3; } while ( <DATA> ) { chomp; my $fqdn = $_; ## for 3rd level domains this must be changed! my ( $sld, $tld ) = split ( /\./ , $fqdn ); my $admin = $ADMIN{ $tld }; $req=HTTP::Request->new(GET => 'https://dmapi.joker.com/request/domain-modify?domain='.$fqdn.'&admin-c='.$admin.'&auth-sid='.$auth); $res = $ua->request($req); if ($res->is_success) { $output=$res->content; print $output; } else { print "Failed: ", $res->status_line, "\n"; exit -2; } } __DATA__ domain1.de domain2.eu domain3.org domain4.com __END__
Last update: 2016-01-13 16:59