0

我正在尝试使用 HTTP 标头在 PHP 中调用http://dbpedia.org/page/Los_Angeles,以完成我获得的教育任务。它必须是这个 URL,即我不允许直接使用 JSON URL。

<?php
// Create a stream
$opts = array(
    'http'=>array(
    'method'=>"POST",
    'header'=>"Accept: application/json"
    )
);

$context = stream_context_create($opts);
$url = "http://dbpedia.org/page/Los_Angeles";
$data = file_get_contents($url,false,$context);
echo $data;
?>

我面临这个错误:

警告:file_get_contents(http://dbpedia.org/page/Los_Angeles):打开流失败:HTTP 请求失败!HTTP/1.1 406 不可接受。

请帮助摆脱这个错误。注意:我阅读了有关此错误的信息并找到了使用 CURL 的建议。但是,我不想安装 CURL。请建议使用file_get_contents.

4

1 回答 1

1

406 表示 application/json 不可用。

来自维基百科:

406 Not Acceptable 请求的资源只能生成根据请求中发送的Accept headers不可接受的内容。

<?php
    $url = "http://dbpedia.org/page/Los_Angeles";
    $data = file_get_contents($url);
    echo $data;
?>
于 2013-10-27T22:37:34.810 回答