HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 12.04.2007, 02:05
grinay
IQ- 137%
Регистрация: 15.06.2004
Сообщений: 441
Провел на форуме:
1212666

Репутация: 662
Отправить сообщение для grinay с помощью ICQ
По умолчанию

Цитата:
Сообщение от mamamot  
Очередной скрипт на php.
Сегодня мы нашли сайт с кучей прокси. Но они там, как назло, в ужасном виде:
Код:
HTTP	203.94.89.112	80	No	UnResolved	UnResolved	704	No
HTTP	66.165.172.163	80	No	UnResolved	UnResolved	562	No
HTTP	212.227.80.22	3128	No	UnKnown	s15179588.rootmaster.info	4328	No
HTTP	219.95.65.250	80	No	UnResolved	UnResolved	1047	No
HTTP	85.88.182.139	3128	No	Russia	not-defined-pppoe.amur.ru	1032	No
т.е. по одной прокси и порту в строке, но с кучей мусорной инфы
мы превратим его в нормальный вид так:
PHP код:
<?php
    
//////////////////////////////////////////////////////////////////
    //proxy_list_generator.php
    //creats an ip:port proxylist
    //coded by mamamot, 2007
    //////////////////////////////////////////////////////////////////
    //задаем регулярные выражения
    
$ip_regex="/([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])){3}/";
    
$port_regex="/([\s])(\d|[1-9]\d|[1-9]\d{2,3}|[1-5]\d{4}|6[0-4]\d{3}|654\d{2}|655[0-2]\d|6553[0-5])([\s])/";
    
//читаем файл
    
$raw=file("rawproxy.txt");
    
//счетчик
    
$counter=0;
    
//перебираем каждую строку
    
foreach($raw as $line)
    {
        
$is_ip_match preg_match($ip_regex$line$ipmatch);
        if(
$is_ip_match==1)
        {
            
$ip=$ipmatch[0];
            
$is_port_match=preg_match($port_regex$line$port_match);
            if(
$is_port_match==1)
            {
                
$port=$port_match[0];
                
//убираем символы табуляции
                
$port=str_replace("\t","",$port);
                
//добавляем в строку. Замените \r\n на \n если работете на никсах
                
$output .= $ip.':'.$port."\r\n";
                
$counter++;
            }
        }
    }
    
//пишем в файл
    
file_put_contents("proxies.txt"$output);
    echo 
"done succesfully:".$counter."items parsed";
?>
да еще и посчитаем заодно
Кто вас так учил писать регулярные выражения?)
Ты что.Я ужаснулся когда это увидел.

PHP код:
<?php
$data
="HTTP    203.94.89.112    80    No    UnResolved    UnResolved    704    No
HTTP    66.165.172.163    80    No    UnResolved    UnResolved    562    No
HTTP    212.227.80.22    3128    No    UnKnown    s15179588.rootmaster.info    4328    No
HTTP    219.95.65.250    80    No    UnResolved    UnResolved    1047    No
HTTP    85.88.182.139    3128    No    Russia    not-defined-pppoe.amur.ru    1032    No"
;
preg_match_all("/[\d]+\.[\d]+\.[\d]+\.[\d]+\s[\d]+/i",$data,$match);
print_r($match);
?>
__________________


Последний раз редактировалось nc.STRIEM; 12.04.2007 в 02:09..
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ