napisalem skrypt, ktory ma za zadanie przeszukac kilka podstron na www.samair.ru, znajduja sie tam adresy serwerow proxy, numery portow sa sprytnie zabezpieczone w javascripcie, wyglada to tak:
<tr><td>84.245.83.253<script type="text/javascript">document.write(":"+o+w+d+l)</script>
a w head
<script type="text/javascript">
u=4;d=2;n=7;t=9;w=1;i=5;f=6;v=0;l=8;o=3;</script>
calkiem zmyslnie prawda, dla kazdej podstrony lista tych znakow podmieniajacych numer portu jest inna, napisalem wiec krypt coby to zabezpieczenie ominac i zrobic baze:
Kod php:
<?php
$fp = "";
$ile = 0;
for ( $numer = 1 ; $numer < 49 ; $numer++ ){
if (strlen($numer) < 2 ){$numer = "0".$numer;}
$fp=fsockopen("localhost", "8118");
fwrite($fp, "GET http://www.samair.ru/proxy/proxy-".$numer.".htm HTTP/1.1
User-Agent: The BoT (Windows 666; U; FY)
Host: www.samair.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: pl-PL,pl;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: identity, *;q=0
Cache-Control: no-cache
Connection: Keep-Alive
");
while(!feof($fp)){$dane.= fread($fp, 1024);}
preg_match_all("/(.)=(.);/", $dane, $out_js, PREG_PATTERN_ORDER);
preg_match_all("/([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})<script type=\"text\/javascript\">document.write\(\":\"(.*?)\)<\/script>/", $dane, $out, PREG_PATTERN_ORDER);
fclose($fp);
$ile = 0;
while ($out[0][$ile] != 0){
$out[5][$ile] = str_replace("+", "", $out[5][$ile]);
$ile_js = 0;
while ($out_js[1][$ile_js] != 0){
$out[5][$ile] = str_replace($out_js[1][$ile_js], $out_js[2][$ile_js], $out[5][$ile]); //## TUTAJ JEST NIBY BLAD ##//
$ile_js++;}
$out_js = "";
$file = "proxy.txt";
$fp = fopen($file, "a+");
fwrite($fp, stripslashes($out[0][$ile].":".$out[5][$ile]."\r\n"));
$ile++;}
$out = "";
$dane = "";}
?>
niestety wyskakuje dziwny blad o tresc:
PHP Fatal error: Cannot use string offset as an array in ipreg.php on line 29
moglby mi ktos wytlumaczyc co jest nie tak? glowie sie nad tym juz dluzszy czas, skrypt wydawac by sie moglo powinien dzialac, zawartosci zmiennych sprawdzalem, sa w porzadku.