twitch file_get_contents php给出404而不是错误json

时间:2015-12-29 17:14:29

标签: php json twitch

我正在尝试使用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);

1 个答案:

答案 0 :(得分:1)

我认为无论是否存在有效的HTTP代码(例如200)或无效的HTTP代码(例如404),您都试图解析JSON。 PHP的问题在于,如果存在无效的HTTP响应代码,则会失败。但是,您可以通过在方法调用中使用标志来强制PHP接受此操作。请参阅https://stackoverflow.com/a/4132660/3233827