Всем привет! Есть у меня скрипт для получения тарифов из Москвы СДЭК 2.0. Если запускать в браузере всё норм, но в командной строке возвращает пустоту. Как можно исправить?
Код:
$clientId = 'Здесь прописан валидный ID';
$clientSecret = 'Здесь прописан валидный ключ';
if (!(isset($clientId) and isset($clientSecret) and (($clientId . "") != "") and (($clientSecret . "") != ""))) {
echo "Вы не заполнили \$clientId или \$clientSecret необходимые для получения авторизационного токена.";
exit;
}
// В строчке ниже объект содержащий запрос, этот объект необходимо передавать представленным в виде строки JSON, в строчке ниже переменной сразу же присваивается строка JSON
$requestObjectString = '{
"type": 1,
"date": "' . date('Y-d-m') . 'T' . date('G:i:s') . '+0700",
"currency": 1,
"lang": "rus",
"from_location": {
"code": 44
},
"to_location": {
"code": 44
},
"packages": [
{
"height": 10,
"length": 10,
"weight": 10,
"width": 10
}
]
}';
//[НАЧАЛО]Первый запрос(получение авторизационного токена)
$curl1 = curl_init();//Инициализируем переменную CURL
$postFieldsAr = array(//В 3-х строчках ниже данные которые передаются методом POST в первом запросе(то есть в запросе авторизационного токена), в втором запросе они не используются
"grant_type" => "client_credentials",//Тип
"client_id" => $clientId,//Идентификатор клиента
"client_secret" => $clientSecret//Секретный ключ клиента
);
curl_setopt_array($curl1, array(
CURLOPT_URL => "https://api.cdek.ru/v2/oauth/token?parameters",//URL на который отправляем запрос, в данном случаи это URL получения авторизационного токена
CURLOPT_RETURNTRANSFER => true,//Устанавливаем этот параметр в true чтобы сохранить результат запроса в переменную иначе вывод сразу же будет направлен в браузер
CURLOPT_POST => true,//Указываем что данные отправляются методом POST
CURLOPT_POSTFIELDS => http_build_query($postFieldsAr)//Кодирование массива с оправляемыми данными для передачи методом POST
));
$response = curl_exec($curl1);//Сохраняем тело ответа от сервера CDEK в переменную $response
curl_close($curl1);
print_r($response);