【发布时间】:2012-07-16 03:57:00
【问题描述】:
我想使用 PHP 和 cURL 访问 $i 网站并将其来源添加到数据库中。
function curl_grab_page($site,$proxy,$proxystatus,$post)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
if ($proxystatus == 'on') {
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
}
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0");
curl_setopt($ch, CURLOPT_URL, $site);
ob_start();
return curl_exec ($ch);
ob_end_clean();
curl_close ($ch);
}
所以我使用这个函数来获取在 $post 中发送的网站。如您所见,它返回 curl_exec($ch)。现在我想将 curl_exec($ch) 放入数据库。我该怎么做?
$sql = "INSERT INTO 抓取的 (website_source) VALUES ('$str')";
这不起作用(返回 die(); 函数,在这种情况下它显然是一个空白页)。请帮忙。我看不出还有什么办法可以保存网站上的内容。 Preg_match 也不适用于 curl_exec。 :/
【问题讨论】:
-
curl_exec() 返回 TRUE 或 FALSE 所以这个问题没什么意义
-
你是什么意思?它返回网站的源代码,并在网站打开时执行。 ://
-
可能不好,我没有看到 CURLOPT_RETURNTRANSFER 已设置