Goal: Gandi API request from an instance Simple Hosting Link: https://gist.github.com/tomedme/75aa5ccdbb7aa3766611402449d8cd7c Comment:

I was missing the User-Agent header, and that missing field trips out the Gandi API.

Code:

<?php
$apiKey = 'blah....blah';
$headers = array();
$headers[] = 'Content-Type: text/xml; charset=utf-8';
$headers[] = 'User-Agent: PEAR::XML_RPC2/@package_version@'; // after "User-Agent: " anything is ok, just not empty or missing
$params = array($apiKey);
// xmlrpc_encode_request() provided by php7.0-xmlrpc
$request = xmlrpc_encode_request('version.info', $params, array('encoding' => 'utf-8'));
$resource = stream_context_create(array(
  'http' => array(
    'method' => 'POST',
    'header' => $headers,
    'content' => $request,
  )
));
$response = file_get_contents('https://rpc.ote.gandi.net/xmlrpc/', false, $resource);
print_r(xmlrpc_decode($response, 'utf-8'));