我正试图从谷歌刮网址使用的是在代码中提供的呆子。
现在我正在使用cURL,但它说“curl_init()在未定义的函数中”
到目前为止,我得到了:
//This is the Pattern for URL finding
$pattern = "~^(http|ftp)(s)?\:\/\/((([a-z0-9]{1,25})(\.)?){2,7})($|/.*$)~i";
//Enter your dork here.
$dork = "inurl: login.php";
//Set the Useragent
$ua = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311";
//Initialize cURL
$ch = curl_init();
$url = "http://www.google.com/search?q=".$dork;
$timeout = 10;
curl_setopt($ch,CURL_OPT, $url);
curl_setopt($ch,CURLOPT_USERAGENT,$ua);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$exec = curl_exec($ch);
$contents = curl_getinfo($ch);
//curl_close($ch);
//Set empty url array
$urls = array();
//Find urls on page you just grabbed ^
preg_match_all($pattern, $contents, $matches);
//Assign the urls to the empty array urls
foreach ($matches[0] as $match)
{
$urls[] = "{$match}";
}
//Remove any duplicates in url array
$vurls = array_unique($urls);
//take out spaces
$urlStr = implode("", $urls);
//count number of unique urls
$count = count($vurls);
//Writing to text file
$fh = fopen('wp.txt', 'w');
fwrite($fh, $urlStr);
fclose($fh);
//Echoing # of urls found.
echo "Done. Found {$count} sites.\n";
我不知道出了什么问题,我试图让它刮多页。但我想知道我该如何处理这件事。
如果有人能给我指出正确的方向,那将是非常有帮助的,我不需要填鸭式的喂养。
2条答案
按热度按时间xxe27gdn1#
PHP中需要开启cURL。要做到这一点,你需要在
php.ini
中找到这一行并取消注解:这样做:
(来源:joomlashine.com)
如果您使用的是Windows 7盒.
1.确保
php.ini
php引擎使用的是你认为的那个。1.确保
php.ini
中的extension_dir
正确设置为ext文件夹。1.确保
php.ini
中的extension=php_curl.dll
未注解。1.确保
%windir%\system32
文件夹中有两个文件:如果没有,则需要从PHP文件夹中复制这两个文件
如果你使用的是Ubuntu,你可能需要这样安装cURL:
然后重启Apache服务器。使用此代码检查cURL函数是否已加载。
vom3gejh2#
PHP不知道函数
curl_init
的唯一原因是它没有配置cURL支持(http://us1.php.net/manual/en/curl.installation.php)。您可以检查
phpinfo()
的输出来确认这一点。