从 PHP 中的 404 获取响应正文

Get response body from 404 in PHP

我正在与 battle.net API 交互,我需要在我点击 404 页面时获取响应正文。问题是我得到一个错误。

我知道该页面有主体,因为在文档中有一个包含主体的示例(下面的屏幕截图)。我还提供了 php 错误的屏幕截图。任何帮助将不胜感激。

这是我的代码:

$responseCode = get_http_response_code($api); //检查页面是否存在

if($responseCode == 200) { //Page exists
    $api = "battle.net/apirequest.......";
    $json = file_get_contents($api);
    $schema = json_decode($json, true);

    $completeQuests = $schema['quests'];
} else if ($responseCode == 404) {
     ...Trying to find out why here.....
}

谢谢, 詹姆斯·麦克尼

编辑:另外,当我直接转到 URL 时,我得到了 JSON 响应,所以我真的不知道这个错误是从哪里来的。

file_get_content 不允许您在失败情况下获取内容。要获取内容,您必须使用较低级别的库;像卷曲这样的东西。