2012-01-02 133 views
0

我真的很困惑。我的问题是使用curl 我试图显示的结果,但它总是相同的结果,它总是返回一个空字符串我不能让网站内容..为什么我无法使用CURL获取网站内容

这里是我的功能:

function get_html_content($url, $timeout=10) { 
    // fake user agent 
    $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2'; 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
    curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); 
    //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    $string = curl_exec($ch); 
    curl_close($ch); 

    return $string; 
} 

上面的代码有什么问题,因为每当我尝试上面的代码时,它总是返回一个空字符串。

+0

我将您的代码复制到我的服务器上的测试文件中,并且它可以正常工作。确定你在回传结果? – 2012-01-02 03:41:04

+0

是的,我做..这里是我的代码在哪里调用上述功能 $ result = get_html_content('http://www.google.com'); echo $ result; – 2012-01-02 04:04:54

+0

哎呀抱歉,我已经知道这个问题了。我忘记了我连接的网络正在使用代理服务器,并且它似乎被代理筛选了。我添加了CURLOPT_PROXY并插入了我的办公室代理设置,并且上面的代码工作..谢谢您的快速响应:) – 2012-01-02 04:08:07

回答

1

正如评论所说,加入

CURLOPT_PROXY 

与适当的代理设置解决了这个问题。

相关问题