Код демонстрирует как передать данные а хэдере и теле запроса к серверу и обработать ответ.
Удобный пример использования 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>';