404 Not Found PHP

时间:2011-08-14 10:58:16

标签: php curl file-get-contents

我正在尝试使用Curl或file_get_contents访问远程数据,但它们都返回404 Not found。浏览器和不同服务器上的相同链接有效。也许某些东西在php配置中被禁用了?

这是与Curl和文件获取内容相同的功能:

    public function getNowPlaying() {

    $source = "http://v12.radionsm.lv/lv/stats";//$this->url . "/lv/stats";

    $ch = curl_init($source);
    curl_setopt($ch, CURLOPT_USERAGENT, $this->useragent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    if (curl_exec($ch) === FALSE) {
        die("Curl error: " . curl_error($ch));
    }
    $data = curl_exec($ch);
    curl_close($ch);
    $xml = simplexml_load_string($data);

    $data = array(
        'status' => (string) $xml->status,
        'onAir' => (string) $xml->dj_name,
        'artist' => (string) $xml->artist_name,
        'title' => (string) $xml->song_name,
        'albumArt' => (string) $this->medium($xml->song_pic)
    );

    return $data;
    }

    public function getNowPlaying() {

        $source = "http://v12.radionsm.lv/lv/stats";
        echo file_get_contents($source);


    }

谢谢。

1 个答案:

答案 0 :(得分:3)

我认为这是对自动报废的某种保护。因此,您需要重复浏览器行为才能读取该页面。

尝试使用有效的首页网址设置CURLOPT_REFERER。您需要在curl请求中发送每个标题,该请求由浏览器发送。

相关问题