Снова превед.Вот с горем попалам убил сегодняшний день((( : PHP: <?php $path = array(); $fp = fopen("paths.txt","r"); while(!feof($fp)) { $path[] = fgets($fp,4096); } set_time_limit(0); $host = "www.hackzone.ru"; $port = "80"; $sock = fsockopen($host,$port,$errno); $i = 0; for($i = 0;$i <count($path);$i++) { $req = "HEAD /$path[$i] HTTP/1.1\r\r\n\n"; $req .= "Host: $host\r\n"; $req .= "Connection: Close\r\n"; if(!$sock) { echo $errno($errstr); } fputs($sock,$req); while(!feof($sock)) { $x .= fgets($sock,4096); $x = explode(" ",$x); if ($x[1] == 400 or 404) { echo "<br>Нету папочки(</br>"; } else if ($x[1] == 403) { echo "<br><font color='yellow'>Доступ запрещён</font></br>"; } else if ($x[1] == 200 or 301) { echo "<br><font color = 'red'>Есть!!!</font></br>"; } else { echo "<br>Ouknown Code</br>"; } } } fclose($sock); ?> paths.txt содержит путь memb Алгоритм кривой,но другого придумать не смог,ибо никогда не писал такие скрипты). scrat: когда пишешь пост,сверху есть охуенная панелька - изучи её
Нам падать в экстазе от кривого кода с опечатками или это завуалированная просьба исправить? Смысл создания темы?
ты открываешь 1 коннект, и туда пишешь все запросы. Хотя в заголовках у тебя четко прописано: Выбрал такой заголовок, тогда открывай для каждого запроса новый коннект. Не правильно: PHP: $req = "HEAD /$path[$i] HTTP/1.1\r\r\n\n"; $req .= "Host: $host\r\n"; $req .= "Connection: Close\r\n"; Правильно: PHP: $req = "HEAD /".$path[$i]." HTTP/1.1\r\n"; $req .= "Host: $host\r\n"; $req .= "Connection: Close\r\n\r\n"; Дальше скрипт не смотрел, этого хватило.
Велемир Как то так. Не проверял PHP: <pre><?php set_time_limit(0); $path = array(); $fp = fopen("paths.txt","r"); while(!feof($fp)) { $path[] = trim(fgets($fp,4096)); } function head($host,$path,$port=80) { $sock = fsockopen($host,$port,$errno); $req = "HEAD /$path HTTP/1.1\r\n"; $req .= "Host: $host\r\n"; $req .= "Connection: Close\r\n\r\n"; if(!$sock) return $errno.'-'.$errstr; fputs($sock,$req); $x=''; while(!feof($sock)) $x .= fgets($sock,4096); fclose($sock); return $x; } $host = "www.hackzone.ru"; $port = "80"; $c=count($path); for($i = 0;$i < $c;$i++) { list(,$status)=explode(" ",head($host,$path[$i],$port)); switch ($status) { case 400: case 404: echo "<br>Нету папочки(</br>";break; case 403: echo "<br><font color='yellow'>Доступ запрещён</font></br>";break; case 200: case 301: echo "<br>Нету папочки(</br>";break; default: echo "<br>Unknown Code</br>"; } } ?>
Надо же,работает!))Я как раз подумывал о той функции(функциональной реализации),но не допёр =_=.Потому и стал косячить.Пасиппи.Единственная проблема в том,что он реагирует на все коды почти)
http://pashkela.narod.ru/progi/SiteScaner.rar а вот это реагирует только на то, на что надо реагировать