File: //scripts.20110531.215904.25158/getremotedbmapstatus
#!/usr/bin/perl
# cpanel - scripts/getremotedbmapstatus Copyright(c) 2010 cPanel, Inc.
# All rights Reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
BEGIN {
unshift @INC, '/usr/local/cpanel';
}
use strict;
use Socket ();
use Cpanel::HttpRequest ();
use MIME::Base64 ();
use Net::SSLeay ();
use JSON::Syck ();
use Data::Dumper;
IO::Socket::SSL->import('inet4');
$| = 1;
my $httpClient = Cpanel::HttpRequest->new( 'hideOutput' => 0 );
chdir("/scripts");
my $host = $ARGV[0];
my $user = $ARGV[1];
my $pass = <STDIN>;
$pass =~ s/\n//g;
my $version_request = '/json-api/cpanel?cpanel_jsonapi_user=$user&cpanel_jsonapi_module=DBmap&cpanel_jsonapi_func=version&cpanel_jsonapi_version=2';
my $prefix_request = '/json-api/cpanel?cpanel_jsonapi_user=$user&cpanel_jsonapi_module=DBmap&cpanel_jsonapi_func=status&cpanel_jsonapi_version=2';
my ( $version_json, $version_status ) = make_request( $host, $user, $pass, $version_request );
my ( $prefix_json, $prefix_status ) = make_request( $host, $user, $pass, $prefix_request );
my $version;
if ($version_status =~ /200 OK$/) {
$version = JSON::Syck::Load($version_json);
}
my $prefix;
if ($prefix_status =~ /200 OK/) {
$prefix = JSON::Syck::Load($prefix_json);
}
if (ref $version && ref $prefix) {
print "VERSION: " . $version->{'cpanelresult'}{'data'}[0]{'version'}, "\n";
print "PREFIX: " . $prefix->{'cpanelresult'}{'data'}[0]{'prefix'}, "\n";
}
exit 0;
sub make_request {
my ( $host, $user, $pass, $request ) = @_;
my ( $page, $response, %reply_headers ) = Net::SSLeay::get_https(
$host, 2083,
$request,
Net::SSLeay::make_headers( Authorization => 'Basic ' . MIME::Base64::encode( "$user:$pass", '' ) )
);
}