MethodNotAllowedHttpException curl http 405
Salve.
Ho tentato di stabilire una conessione server-to-server utilizzando cURL.
Nelle impostazione php ho abilitato api esterne senza limiti.
L'idea è di fare una richiesta POST passando i dati in formato JSON, che sono le credenziali per autorizzazione.
La risposta dall'api esterna è nel formato JSON.
Lo script si trova fisicamente su: risposta dall'api esterna con errore
Ecco il codice dello script:
Codice PHP:
<?php
$url = 'http://api.example.it/events';
$data = array(
'username'=>'username',
'password'=>'password'
);
$jsonDataEncoded = json_encode($data);
$ch = curl_init();
$curlOptions = array(CURLOPT_URL => $url,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $jsonDataEncoded,
CURLOPT_HEADER => 1,
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Content-Length: ' . strlen($jsonDataEncoded),
'Accept: application/json, text/javascript, */*; q=0.01'
),
CURLOPT_RETURNTRANSFER => 1
);
curl_setopt_array($ch, $curlOptions);
$result = curl_exec ($ch);
var_dump(curl_getinfo( $ch ));
curl_close($ch);
echo $result;
?>
Lo script funziona perfettamente sul mio server locale e anche sull'altro mio server publico.
Solo qui su altervista mi da un'errore:
MethodNotAllowedHttpException in Application.php line 1259:
Credo che il problemma è nella versione php.
Come è possibile passare e ricevere JSON con la richiesta POST qui su altervista. Ho impostato la versione di PHP 5.4 (ultima disponibile in questo momento)