Napisałem coś takiego ale mam wrażenie, że nie działa, tzn. nie dodaje żadnych rekordów jako poprawnych. Jakieś sugestie albo gotowy skrypt do sprawdzania poprawności adresów proxy ?

  1. //Funkcja pobiera ważne ustawienia z bazy danych
  2. function s($var) {
  3. connect_to_db();
  4.  
  5.  
  6. $query = 'SELECT name, value FROM settings_proxy';
  7. $result = mysql_query($query) or die('Nastapił błąd w zapytani udo bazy w funkcji settings: '. mysql_error());
  8. while ($r = mysql_fetch_assoc($result)) {
  9. $site_settings[$r['name']] = $r['value'];
  10. }
  11.  
  12. $value = $site_settings[$var];
  13. return $value;
  14. }
  15.  
  16.  
  17. function curl() {
  18. connect_to_db();
  19. $proxy_limit_min = s('proxy_min');
  20. $proxy_limit_max = $proxy_limit_min + 5;
  21. //pobieranie nieprzefiltrowanej listy proxy
  22. $zapytanie = mysql_query("SELECT adresy FROM proxy WHERE id BETWEEN $proxy_limit_min AND $proxy_limit_max");
  23. $url = 'http://www.google.pl/search?hl=pl&source=hp&biw=1152&bih=643&q=fraza&aq=f&aqi=g10&aql=&oq=';
  24.  
  25. while($row = mysql_fetch_array($zapytanie)) {
  26. $curl = curl_init($url);
  27. curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.7) Gecko/20100713 Firefox/3.6.7');
  28. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  29. curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  30. //curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 1);
  31. curl_setopt($curl, CURLOPT_PROXY, $row['adresy']);
  32. //curl_setopt($curl, CURLPROXY_HTTP, $proxy);
  33. $wynik=curl_exec($curl);
  34. curl_close($curl);
  35.  
  36.  
  37. if(strpos($wynik, 'Około')) { //sprawdzamy slowo klucz i jesli jest to dodajemy rekord do bazy
  38. $zap = mysql_query("INSERT INTO proxy_ok(id, adresy) VALUES(NULL, $proxy)") or die('Blad w zapytaniu INSERT: '. mysql_error());
  39. }
  40. }
  41.  
  42. mysql_query("UPDATE settings_proxy SET value=value+5 WHERE name='proxy_min'") or die('Blad w zapytaniu UPDATE:'. mysql_error());
  43. }