Код демонстрирует как передать данные а хэдере и теле запроса к серверу и обработать ответ.
Удобный пример использования cURL на php
11.10.2017
Файл лучше скачать, а не копировать текст, иначе вначале съедаются пробелы.
01.php (Download)
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
/**
*
* @param undefined $sUrl
*
* @return
*/
function getPage($sUrl)
{
$oRet = new stdClass();
$oRet->status = 'error';
$oRet->result = '';
$oRet->code = 0;
$headers = array(
'Content-Type: application/json;charset=utf-8',
'Authorization: 4E000001485A8EF6',
);
$data = '{"cart":{"currency":"RUR","items":[{"feedId":439556...';
//$data = http_build_query($data, '', '&');
$aOptions = array (
CURLOPT_HTTPHEADER => $headers,
CURLOPT_URL => $sUrl,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $data,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_TIMEOUT => 45,
CURLOPT_VERBOSE => 0,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
);
$ch = curl_init();
curl_setopt_array($ch, $aOptions);
$response = curl_exec($ch);
if ($response)
{
$oRet->status = 'ok';
$oRet->result = $response;
//$oRet->result = json_decode($oRet->result, TRUE);
}
else
{
$oRet->status = 'error';
$oRet->result = 'Curl error: ' . curl_error($ch);
}
$oRet->code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $oRet;
}
echo '<pre>';
// print_r(getPage('http://oddler.ru/')); // code == 200
// print_r(getPage('https://oddler.ru/111')); // code == 404
print_r(getPage('https://oddler.TRru/111')); // code == 0
echo '</pre>';