Помогите.
В неком API, нужно получить ответ в формате json
может принимать как post параметры(по умолчанию) так и json, при передачи json необходимо обязательно передать http заголовок content-type: application/json.
В запросе нужно передать еще и заголовки
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_URL, 'https://site.com/status');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
$headers = [
'api_sign: '.$sha256,
'public_key: '.$pub_key
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
Что бы правильно отослать и получить в json формате, надо все данные json_encode Если я делаю
$headers =json_encode($headers);
$post=json_encode($post);
то сервер отдает "неправильная аутентификация". Как заголовки передать правильно?
Михаил Алексеевич спасибо, действительно - дважды отсылаю CURLOPT_HTTPHEADER
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Код вырван из контекста, но я думаю не имеет смысла копировать сюда всю программуЕсть код PHP, который обрабатывает данные, введенные в форму: