【发布时间】:2015-12-29 17:14:29
【问题描述】:
我正在尝试使用 twitch api 通过file_get_contents() 获取用户信息。当我在浏览器中测试现有和不存在的链接时,这两种情况都可以正常工作(如果用户存在则返回用户对象,如果用户不存在则返回错误对象)。
但是,当我想在 PHP 和 file_get_contents() 中完成相同的操作时,当用户存在时它确实可以正常工作,但当它不存在时,PHP 会抛出 Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found。
我的代码如下所示:
$username = $_GET['username'];
$result = file_get_contents('https://api.twitch.tv/kraken/users/'.$username);
var_dump($result);
【问题讨论】:
-
我在浏览器中打开它时也会收到 404 代码。想详细说明您的期望吗?无论如何从响应中获取 JSON?出于什么目的?我同意将错误作为否定结果并不是检查这种情况的最佳方法。但是,也许 file_get_contents() 不是最好的方法,你应该考虑使用例如卷曲。
-
问题是什么?你想达到什么目的?
-
如果具有提供的用户名的用户不存在而不是 php 生成错误,我想得到一个错误 json。当我尝试在浏览器的地址栏中进行测试时,我在浏览器中看到了这个:{"error":"Not Found","status":404,"message":null}
-
我宁愿不将 cURL 用于像这样微不足道的事情。