Я использую restserver в Codeigniter от Chris Kacerguis и настраиваю rest_auth с сеансом.
Когда я вошел в систему, я захожу на страницу, чей view.php получает ответ через file_get_contents и он возвращает 401 Несанкционированный.
Когда я открываю прямую страницу API в новой вкладке, она правильно возвращает json.
view.php загружает содержимое API следующим образом:
json_decode(file_get_contents('https://example.com/api/proces/'), true);
ответ:
Обнаружена ошибка PHP
Серьезность: Предупреждение
Сообщение: file_get_contents ( Мне нужно было удалить ссылку ): не удалось открыть> поток: HTTP-запрос не выполнен! HTTP / 1.1 401 Несанкционированный
Что происходит?
Я вижу, что ваш пример URL использует «https», и возможно, что ваш сервер Apache / Nginx не настроен правильно для обработки SSL таким образом, но он будет работать нормально с сертификатом в браузере.
Я бы посоветовал вам использовать вместо этого curl.
json_decode(curl_get_contents('https://example.com/api/process/'));
отсюда https://github.com/zg/curl_get_contents
Или, конечно, вы можете использовать curl напрямую.
$url = 'https://example.com/api/process/';
$request = curl_init();
curl_setopt($request, CURLOPT_URL, $url);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_HEADER, false);
$data = curl_exec($request);
curl_close($request);
Других решений пока нет …