【发布时间】:2012-01-02 03:34:25
【问题描述】:
我真的很困惑。我的问题是我无法使用 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;
}
我上面的代码有什么问题吗,因为每当我尝试上面的代码时,它总是返回一个空字符串。
【问题讨论】:
-
我将您的代码复制到了我服务器上的测试文件中,它可以工作。确定您是
echoing 返回的结果吗? -
是的,我愿意。这是我调用上述函数的代码 $result = get_html_content('google.com');回声 $result;
-
oops sorry,我已经知道问题了。。我忘记了我连接的网络正在使用代理,而且它似乎被代理过滤了。我添加了 CURLOPT_PROXY 并插入我的办公室代理设置,上面的代码工作..感谢您的快速响应:)
-
嗨约瑟夫,如何删除这个问题/将此问题标记为已回答
-
@KiraYamato 请回答您自己的问题,然后将其标记为
accepted。