cURL没有按预期获取页面 - 404错误

时间:2014-07-09 02:44:01

标签: php curl

我使用以下代码从soundcloud.com获取搜索结果。虽然URL从浏览器中提取搜索结果,但是回显cURL结果会提取404 /"页面未找到"错误。

如果这有帮助 - >如果我注释掉useragent行,我可以显示该域中的其他URL,但不能显示搜索结果。我可以看到的页面状态"您正在使用较旧版本的Sound Cloud"。

<?php

    $url = 'https://soundcloud.com/search?q=a';

    $curl = curl_init();
    curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13',
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_URL => $url));

    $resp = curl_exec($curl);
    echo $resp;
    echo curl_error($curl);
    curl_close($curl);

?>

1 个答案:

答案 0 :(得分:1)

您需要使用 SoundCloud API 来搜索所有内容。

我捕获了soundcloud搜索包,看看:

soundcloud官方网站搜索使用的是ajax和 SoundCloud API 。因此,您无法使用代码获取搜索结果。 (当你使用PhantomJS时它是可能的,但效率非常低)

请访问SoundCloud API Documentation页面。创建自己的应用程序并生成api令牌以访问soundcloud搜索API。

添加:此链接对您非常有帮助:https://github.com/davidmh/CakePHP-SoundcloudSearch-Plugin/blob/master/Controller/Component/SoundcloudSearchComponent.php