twitchfile_get_contentsphp给出404而不是错误json


twitch file_get_contents php gives 404 instead of error json

我正在尝试使用twitch-api使用file_get_contents()获取用户信息。当我在浏览器中用现有和不存在的链接测试链接时,它在这两种情况下都能正常工作(如果用户存在,则返回用户对象,如果用户不存在则返回错误对象)。

然而,当我想用file_get_contents()PHP中实现同样的功能时,当用户存在时,它确实可以正常工作,但当用户不存在时,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);

我认为无论存在有效的HTTP代码(例如200)还是无效的代码(例如404),您都在尝试解析JSON。PHP的问题就在这里,如果有一个无效的HTTP响应代码,它就会失败。但是,您可以通过在方法调用中使用标志来强制PHP接受这一点。看见https://stackoverflow.com/a/4132660/3233827为此。