2013-04-10 3 views
0

Я пытаюсь очистить URL-адреса от Google с помощью dork, который указан в коде.Скремблирование google с dorks в PHP

Сейчас я использую локон, но это говорит «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"; 

Я не знаю, что это неправильно, и Я пытаюсь получить его, чтобы очистить несколько страниц. Но интересно, как я должен справиться с этим.

Если кто-то может указать мне в правильном направлении, это было бы очень полезно, мне не нужно ложевое кормление.

+0

'PHP Замечание: использование неопределенной константы CURL_OPT - предполагается 'CURL_OPT' в/root/test.php on line 17 PHP Предупреждение: curl_setopt() ожидает, что параметр 2 длинный, строка указана в /root/test.php в строке 17 PHP Warning: preg_match_all() ожидает, что параметр 2 будет строкой, массив указан в/root/test.php в строке 30 PHP Предупреждение: неверный аргумент для foreach() в /root/test.php в строке 33' У меня работает cURL, мне просто нужна помощь с кодом. –

+0

Я никогда не слышал о CURL_OPT. Вы имели в виду CURLOPT_URL? – James

ответ

1

Единственная причина, по которой PHP не знает о функции curl_init, заключается в том, что она не была настроена с поддержкой cURL (http://us1.php.net/manual/en/curl.installation.php).

Вы можете проверить вывод phpinfo(), чтобы подтвердить это.

+0

Хорошо, у меня есть cURL, работающий на моем Linux VPS. Я получаю несколько ошибок из моего кода, хотя: PHP Примечания: Использование неопределенной константы CURL_OPT - предполагается, «» CURL_OPT в /root/test.php на линии 17 PHP Warning: curl_setopt() ожидает параметр- чтобы быть длинным, строка указана в /root/test.php в строке 17 PHP Предупреждение: preg_match_all() ожидает, что параметр 2 будет строкой, массив указан в /root/test.php в строке 30 PHP Предупреждение: неверный аргумент для foreach() в /root/test.php в строке 33 –

2

Необходимо включить cURL в PHP. Чтобы сделать это, вам нужно найти эту строку в php.ini и раскоментировать:

;extension=php_curl.dll 

сделать это таким образом:

extension=php_curl.dll 


В случае, если вы используете Windows 7 ...

  1. Убедитесь, что используется php.ini php engine - тот, который вы считаете.
  2. Убедитесь, что extension_dir в php.ini правильно установлен в папку ext.
  3. Удостоверьтесь, что extension=php_curl.dll в php.ini раскопан.
  4. Убедитесь, что есть два файла в папке %windir%\system32:

    libeay32.dll 
    ssleay32.dll 
    

Если нет, то вам необходимо скопировать эти файлы из папки PHP


Если вы на коробке Ubuntu, вам может потребоваться установить cURL следующим образом:

apt-get install php5-curl 
/etc/init.d/apache2 restart 

Затем перезапуск сервера Apache. Используйте этот код, чтобы проверить, загружена ли функция cURL.

<?php 
    phpinfo(); 
?> 
+0

Я сделал все, что вы предоставили, и он все еще не работает, файлы нужно скопировать в System32 или просто переместить? –

+0

@JamalDante Должен быть скопирован. Какой сервер вы используете? XAMPP, WAMP или просто Apache + PHP + MySQL? –

+0

Я использую WAMP Server, я думаю, что я собираюсь переместить его на свой сервер и запустить тестирование там. Вопрос только в том, правильно ли выглядит код? –

 Смежные вопросы

  • Нет связанных вопросов^_^