Page tree
Skip to end of metadata
Go to start of metadata

Example connection script

<?php
 
// Url to the client API
 
$url = "https://<MASTER IP>:5656/api/client";
 
// Specify the key, hash and action
 
$postfields["key"] = "EXAMPLE-API-KEY";
$postfields["hash"] = "exaMpleHasH";
$postfields["action"] = "reboot"; // reboot, shutdown, boot, status
 
// Send the query to the solusvm master
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "/command.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
$data = curl_exec($ch);
curl_close($ch);
 
// Parse the returned data and build an array
 
preg_match_all('/<(.*?)>([^<]+)<\/\\1>/i', $data, $match);
$result = array();
foreach ($match[1] as $x => $y)
{
	$result[$y] = $match[2][$x];
}
 
?>

Output all returned data

<?php
 
print_r($result);
 
?>

Parsing returned data

<?php
 
// Check for any errors
 
if ($result["status"] == "error")
{
	echo $result["statusmsg"];
	exit();
}
 
// Display a message on a successful return
 
if ($result["status"] == "success")
{
	if ($result["statusmsg"] == "online")
	{
		echo "The virtual server is online!";
	} elseif ($result["statusmsg"] == "offline")
	{
		echo "The virtual server is offline!";
	} elseif ($result["statusmsg"] == "rebooted")
	{
		echo "The virtual server has been rebooted!";
	} elseif ($result["statusmsg"] == "shutdown")
	{
		echo "The virtual server has been shutdown!";
	} elseif ($result["statusmsg"] == "booted")
	{
		echo "The virtual server has been booted!";
	}
	else
	{
		echo "Status message unknown!";
	}
}
 
?>
  • No labels