Curl PHP как передать в заголовке одновременно json и данные
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
С помощью CUrl запроса я передаю json, но мне также нужно передать токен(это API запрос),
в обычном случае я бы передал это массивом, но application/json и есть массив. Вопрос: как мне одновременно передать и этот параметр и токен в формате: "mytoken": $token
Ответы (1 шт):
Автор решения: nikello
→ Ссылка
Можно так:
$arFields = [
"name" => 'Иван Иванов',
"birthday" => '02.02.2002',
"phone" => '+7(999)99-99-99',
"sex" => 'Male',
];
$jFields = json_encode($arFields, JSON_UNESCAPED_UNICODE);
$arOptions = [
CURLOPT_SSL_VERIFYPEER => false, //Проверка SSL сертификата
CURLOPT_SSL_VERIFYHOST => false, //Проверка хоста на соответствие с SSL
CURLOPT_HEADER => true, //Включаем передачу заголовка
CURLOPT_RETURNTRANSFER => true, //Возврат результата
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . base64_encode($token),
'Accept: application/json',
'Content-Type: application/json'
], //Массив заголовков
CURLOPT_URL => $this->url . '/client/' . $id, //Загружаемый URL, куда посылаем
CURLOPT_POST => true, //Передаем данные POST
CURLOPT_POSTFIELDS => $jFields, //POST - запрос
];
curl_setopt_array($ch, $arOptions);