cURL没有获取URL的HTML源代码

时间:2015-06-25 21:20:23

标签: php curl web-crawler

我正在尝试使用PHP创建一个简单的Web爬虫,但我在获取给定URL的HTML源代码时遇到问题。我目前正在使用cURL获取源代码。

我的代码:

 $url = "http://www.nytimes.com/";

    function url_get_contents($Url) {
        if (!function_exists('curl_init')) {
            die('CURL is not installed!');
        }
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $Url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $output = curl_exec($ch);
        if ($output === false) { die(curl_error($ch)); }
        curl_close($ch);
        return $output;
    }

    echo url_get_contents($url);
    ?>

现在没有任何回应,也没有任何错误,所以这有点神秘。任何建议或修正将不胜感激

编辑:我添加了

if($ output === false){die(curl_error($ ch)); }

到函数的中间,它最终给了我一个错误(最后!):

无法解析主持人:www.nytimes.com

我仍然不知道问题是什么。有什么想法吗?

由于

2 个答案:

答案 0 :(得分:2)

原来这不是cURL问题

我的主机服务器(Ubuntu VM)正在使用"仅限主机"网络适​​配器阻止访问其主机之外的所有其他IP或域,使cURL无法连接到URL。

一旦改为"桥接"网络适​​配器我可以访问外部世界。

希望这有帮助。

答案 1 :(得分:0)

可变案例不匹配($url$Url)。变化:

function url_get_contents($Url) {

function url_get_contents($url) {