twitch file_get_contents php выдает 404 вместо ошибки json

Я пытаюсь получить информацию о пользователе с file_get_contents() с использованием дергаться API. Когда я проверяю ссылку в моем браузере как с существующей, так и с несуществующей, она отлично работает в обоих случаях (возвращает пользовательский объект, если пользователь существует, и объект ошибки, если пользователь не существует).

Тем не менее, когда я хочу сделать то же самое в 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

Решение

Я думаю, что вы пытаетесь проанализировать JSON независимо от того, существует ли действительный код HTTP (например, 200) или неверный (например, 404). Проблема PHP в том, что он не работает, если есть неправильный код ответа HTTP. Однако вы можете заставить PHP принять это, используя флаг в вызове метода. Увидеть https://stackoverflow.com/a/4132660/3233827 для этого.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]