Hey guys, I am trying to create a script that will pull the log's from DirectAdmin so they can be parsed and submitted to a DB, the problem is the login of DirectAdmin.
I tried lots of script but I cant seem to get it to work...
Current script:
$url = 'http://213.247.000.000:2222/CMD_SHOW_LOG?domain=mydomain.com&type=log';
$username = 'xxx';
$password = 'xxx';
$fields = array(
'username'=>urlencode($username),
'password'=>urlencode($password)
);
$fields_string='';
foreach($fields as $key=>$value) {
$fields_string .= $key.'='.$value.'&';
}
rtrim($fields_string,'&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
$result = curl_exec($ch);
if($result===false) {
echo 'CURL ERROR: '.curl_error($ch);
}
curl_close($ch);
var_dump($result);
I've got it!
Made a little function out of it:
function getlog($ip,$username,$password,$domain) {
$url = 'http://'.$ip.':2222';
// set temp cookie
$ckfile = tempnam ("/tmp", "CURLCOOKIE");
// make list of POST fields
$fields = array(
'referer' =>urlencode('/'),
'username'=>urlencode($username),
'password'=>urlencode($password)
);
$fields_string='';
foreach($fields as $key=>$value) {
$fields_string .= $key.'='.$value.'&';
}
rtrim($fields_string,'&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_COOKIEJAR, $ckfile);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_URL,$url.'/CMD_LOGIN');
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
$result = curl_exec($ch);
if($result===false) {
die('CURL ERROR: '.curl_error($ch));
} else {
curl_setopt($ch,CURLOPT_URL,$url.'/CMD_SHOW_LOG?domain='.$domain.'&type=log');
curl_setopt($ch,CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
if($result===false) {
die('CURL ERROR: '.curl_error($ch));
} else {
return $result;
}
}
}