twitch file_get_contents php 给出 404 而不是错误 json
twitch file_get_contents php gives 404 instead of error json
我正在尝试使用 twitch api 通过 file_get_contents()
获取用户信息。当我在浏览器中使用现有和不存在测试 link 时,它在两种情况下都可以正常工作(如果用户存在,则为 returns 用户对象,如果用户不存在,则为错误对象)。
但是,当我想在 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);
我认为您正在尝试解析 JSON,无论 HTTP 代码是有效的(例如 200)还是无效的(例如 404)。 PHP 的问题就在这里,如果存在无效的 HTTP 响应代码,它就会失败。但是,您可以通过在方法调用中使用标志来强制 PHP 接受它。请参阅 。
我正在尝试使用 twitch api 通过 file_get_contents()
获取用户信息。当我在浏览器中使用现有和不存在测试 link 时,它在两种情况下都可以正常工作(如果用户存在,则为 returns 用户对象,如果用户不存在,则为错误对象)。
但是,当我想在 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);
我认为您正在尝试解析 JSON,无论 HTTP 代码是有效的(例如 200)还是无效的(例如 404)。 PHP 的问题就在这里,如果存在无效的 HTTP 响应代码,它就会失败。但是,您可以通过在方法调用中使用标志来强制 PHP 接受它。请参阅 。