2017-09-10 3 views
2

Chris Kacerguis의 Codeigniter에서 restserver를 사용하고 있으며 세션과 함께 rest_auth를 설정했습니다. 로그인하면 view.php가 의 파일 _get_contents을 통해 응답하는 페이지에 액세스하고 401 Unauthorized가 반환됩니다. 새 탭에서 API의 직접 페이지에 액세스하면 json을 올바르게 반환합니다.Codeigniter의 RestServer : 401보기에로드 할 때 권한이없는 응답

json_decode(file_get_contents('https://example.com/api/proces/'), true); 

응답 :

PHP는 오류가 발생했습니다

심각도 : 경고

view.php

이 방법으로 API의 내용을로드

메시지 : file_get_contents (다시해야했습니다. 링크를 이동) : 열지 못했습니다> 스트림 : HTTP 요청하지 못했습니다! HTTP/1.1 401 Unauthorized

+0

API에는 인증이 필요합니까? – skribe

답변

0

url이 "https"를 사용하고 있으며 Apache/Nginx 서버가 SSL을이 방식으로 올바르게 처리하도록 구성되지 않았지만 브라우저의 인증서로 정상적으로 작동 할 수 있습니다.

대신 컬 대신 사용할 것을 제안합니다. 여기 https://github.com/zg/curl_get_contents

또는 직접 컬 사용할 수있는 과정에서

json_decode(curl_get_contents('https://example.com/api/process/')); 

.

$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); 
+0

나는 너에게 sugestion을 시도했다. 그러나 그것은 일을 didnt한다. 나는 웹에서 찾은 다른 사람들을 시도했지만 아무도 효과가 없었다. 따라서 잠시 동안 인증을 설정하고, 결국 해결책을 찾으면 여기에 게시 할 것입니다. –