我在Chris Kacerguis的Codeigniter中使用了restserver,我用session设置了rest_auth。 当我登录时,我访问了view.php通过 file_get_contents 获取响应的页面,并且它返回401 Unauthorized。 当我在新标签中访问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未经授权
发生了什么?
答案 0 :(得分:0)
我看到您的示例网址正在使用" 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);