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