cURL在函数内部不起作用

时间:2014-08-18 13:49:44

标签: php parsing dom curl simple-html-dom

有这样的代码:

<?php
include_once('simple_html_dom.php');

function parseInit($url) {
    $ch = curl_init();
    $timeout = 0;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);     
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    $html = new simple_html_dom();
    $data = $html->load($data);
    return $data;
}

function get_category($link) {
    $html = parseInit($link);
    $cat_view = $html->find(".category-view");
    $cat_view_array = $html->find(".category");
    if (isset($cat_view)) {
        echo "<ul>";
        foreach ($cat_view_array as $cat_block) {
            $cat_link = $cat_block->find("h2 a", 0)->href;
            echo "<li>".$cat_link."</li>";
            get_category($cat_link);
        }
        echo "</ul>";
    } else {
        return;
    }
}

get_category("https://www.smile-dental.de/index.php?option=com_virtuemart&view=virtuemart"); // as an example link
?>

我正在尝试使用另一个函数内的cURL初始化来获取类别链接(和嵌套链接),但结果我得到“网页不可用”。但是(例如)如果不使用函数 get_category 和(用于测试)第一级的输出链接(没有递归),那么我们不会得到任何错误。你能帮我解释一下问题是什么吗?

提前致谢!

0 个答案:

没有答案