Код для поиска строк в исходном коде во многих проблемах с превышением времени ожидания URL-адреса - PullRequest
0 голосов
/ 13 апреля 2011

Я хочу ввести очень длинный список URL-адресов и искать конкретные строки в исходном коде, выводя список URL-адресов, которые содержат строку. Звучит достаточно просто, верно? У меня есть нижеуказанный код, вы можете попробовать его на pelican-cement.com/findfrog.

Проблема в том, что время ожидания истекает каждый раз, когда я ищу более 10 или около того URL

<html>
<body>

<form action="search.php" method="post"> 
  URLs: <br/>
  <textarea rows="20" cols="50" input type="text" name="url" /></textarea><br/>

  Search Term: <br/>
  <textarea rows="20" cols="50" input type="text" name="proxy" /></textarea><br/>

  <input type="submit" /> 
</form>

<?
set_time_limit (0);
  if(isset($_POST['url'])) {


    $urls = explode("\n", $_POST['url']);
    $term = $_POST['proxy'];
    $options = array( CURLOPT_FOLLOWLOCATION => 1,
                      CURLOPT_RETURNTRANSFER => 1,
                      CURLOPT_CUSTOMREQUEST  => 'GET',
                      CURLOPT_HEADER         => 1,
                      );
    $ch = curl_init();
    curl_setopt_array($ch, $options);

    foreach ($urls as $url) {
      curl_setopt($ch, CURLOPT_URL, trim($url));
      $html = curl_exec($ch);

      if ($html !== FALSE && stristr($html, $term) !== FALSE) { // Found!
        echo $url;
        echo "<br>";
      }
    }

    curl_close($ch);
    echo "space";
  }
?>
</html>

1 Ответ

0 голосов
/ 16 августа 2011

Попробуйте изменить ограничение по времени.

foreach ($urls as $url) {
  set_time_limit(120);
  curl_setopt($ch, CURLOPT_URL, trim($url));
  $html = curl_exec($ch);

Это 2 минуты для каждого URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...