• Debian 11 is approaching its end-of-life (vendor EOL date - August 31, 2026). Plesk Obsidian 18.0.80 will be the last release to support it.
    If you are running Plesk Obsidian on Debian 11, we recommend you upgrade those servers to Debian 12 using our dist-upgrade tool.
  • We plan to deprecate and remove the support for XML RPC protocol versions earlier than 1.6.9.1 in Plesk Obsidian 18.0.82. We strongly recommend that you update all existing integrations using earlier versions of the XML RPC protocol to comply with the version 1.6.9.1 specification.

API using ASP 3.0

L

LeandroC

Guest
I need an example of Plesk 8.6 API using ASP 3.0. This example is in PHP as it does in ASP.

<?php
define("HOST", "200.xxx.xxx.xx");
define("PORT", 8443);
define("PATH", "enterprise/control/agent.php");
define("LOGIN", "");
define("PASSWD", "");
define("PROTO_VER", "1.3.1.0");
$proto = PROTO_VER;
$data =<<<EOF
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<packet version="1.4.2.0">
<domain>
<add>
<gen_setup>
<name>newdomain.com</name>
<htype>vrt_hst</htype>
<ip_address>200.xxx.xxx.xxx</ip_address>
<status>0</status>
</gen_setup>
<hosting>
<vrt_hst>
<ftp_login>c4u7dwbc2y8</ftp_login>
<ftp_password>qweqwe</ftp_password>
<ip_address>200.xxx.xxx.xx</ip_address>
</vrt_hst>
</hosting>
</add>
</domain>
</packet>
EOF;
function write_callback($ch, $data)
{
echo $data;
return strlen($data);
}
function sendCommand()
{
$url = "https://" . HOST . ":" . PORT . "/" . PATH;
$headers = array(
"HTTP_AUTH_LOGIN: " . LOGIN,
"HTTP_AUTH_PASSWD: " . PASSWD,
"HTTP_PRETTY_PRINT: TRUE",
"Content-Type: text/xml",
);
// Initalize the curl engine
$ch = curl_init();
// Set the curl options
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
// this line makes it work under https
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, &$headers);
// Set the URL to be processed
curl_setopt($ch, CURLOPT_URL, $url);
// Set the callback functions
curl_setopt($ch, CURLOPT_WRITEFUNCTION, write_callback);
// Set the data to be send
global $data;
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
// Debug, however...
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$result = curl_exec($ch);
if ($result == CURL_OK) {
//print_r(curl_getinfo($ch));
} else {
echo "\n\n-------------------------\n" .
"cURL error number:" .
curl_errno($ch);
echo "\n\ncURL error:" . curl_error($ch);
}
curl_close($ch);
return;
}
sendCommand();
?>
 
Back
Top