Help with SolusVM Client:API...

Status
Not open for further replies.

Palooo 2009

Active Member
572
2009
10
0
Hello,

I need help with solusVM Client:API...

I have got the example php script from their website but it doesn't seem to work. After all the tests, i think its bcz of the port 5656 but still i would like to know who has got it work.

Here's the example php script:
PHP:
<?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];
}
 
?>

<?php
 
print_r($result);
 
?>

<?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!";
	}
}
 
?>

Thanks
-PALOOO
 
6 comments
I would try a manual approach for the time being, if you use this form below to send the post request to the server and see if you get the response data, when you send the form make sure your logging the headers to see if the port is actually open and if your server is returning 200 Success Code

PHP:
<form action="https://<MASTER IP>:5656/api/client/command.php" action="post">
    <input type="hidden" name="key" value="API-KEY-HERE">
    <input type="hidden" name="hash" value="exaMpleHasH">
    <select name="action">
        <option value="reboot">Reboot</option>
        <option value="shutdown">Shutdown</option>
        <option value="boot">Boot</option>
        <option value="status ">Status</option>
    </select>
    <input type="submit" value="Send" />
</form>

Just remember to change your key and location in the form.
 
I have sent the support ticket. I think the port needs to be open on the main server.

well the port doesn't have to be 5656, that is an example port.
the port in the script has to be the same port of where solusvm is hosted. (where you usually connect).

What exactly are you trying to do?
 
Status
Not open for further replies.
Back
Top