2017-09-10 8 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); 

応答:

A PHPのエラーが発生しました

重大度:警告

view.php

は、このようにAPIのコンテンツをロードしています

メッセージ:ファイル_get_contents(私はリンクを移動):開けませんでした>ストリーム:HTTP要求に失敗しました! HTTP/1.1 401無許可

何が起こっているか

+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

私はあなたに渋滞を試みたが、それは仕事をしなかった。私はウェブ上で見つけた他の人たちを試したが、誰も働かなかった。だから私はしばらくの間、認証をセットアップし、私が最終的に解決策を見つけるなら、私はここにそれを掲示するでしょう。 –

関連する問題