Проблемы с чекером.

Discussion in 'PHP' started by Adekvatnyj, 29 Nov 2009.

  1. Adekvatnyj

    Adekvatnyj Member

    Joined:
    28 Oct 2009
    Messages:
    18
    Likes Received:
    25
    Reputations:
    -3
    Кидаю исходный код с мусорными функциями, работает только сheckya , после обьявления сразу ее вызов.
    Проблема в том, что проверяет 1 прокси, а если в ней еще таймаут то вообще ничего не проверяет.
    Как ограничить проверку каждой прокси, или добавить многопоточность?
    Доведите пжл до ума функцию сheckya
    PHP:
    <?
    set_time_limit(200 * 10);
    if (
    sometext==sometext) { //суть этой строки неважна...
    echo '<center><h2><font color="gray">Чекер прокси от Adekvatnyj</font></h2></center>';
    $filename = 'proxy.txt';//название файла с прокси
    if (file_exists($filename)) { 
        echo 
    "<h3>Прокси лист есть, начинаем проверку:</h3>"; //если файл существует
    } else {
        die; 
    //если файла нету
    }
    }
    function 
    checkya() {
    $path = 'http://mail.yandex.ru/';
    $ref = $path;
    $file = @file("proxy.txt");
    for (
    $i = 0;$i<count($file);$i++) {
    $list = $file[$i];
    $proxy = trim($list);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $path);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6'); 
    curl_setopt($ch, CURLOPT_REFERER,$ref);
    curl_setopt($ch, CURLOPT_TIMEOUT,1);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 );
    $result = curl_exec($ch);
    }
    if (
    preg_match('/<title>Яндекс.Почта<\/title>/',$result)) {
    echo 
    '<br>'.$proxy;} else {
    echo 
    'Не нашло еще...';
    }
    curl_close($ch);
    }
    checkya();
    $mode = $_POST['mode']; //получаем режим работы
    if ($mode == 'vkontakte')  //если режим работы чек на валид ВК прокси
    {
    checkvk();
    } elseif (
    $mode == 'ya') //усли надо чекать под яндекс
    {
    checkya();
    }
    ?>
    А также человек знающий PHP5 СВЯЖИСЬ ПЛИЗ В АСЬКУ 495399!!!
     
  2. Deathdreams

    Deathdreams Elder - Старейшина

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    :D

    Юзай функцию:

    PHP:

    function utf2win($fcontents) {
        
    $out = $c1 = '';
        
    $byte2 = false;
        for (
    $c = 0;$c < strlen($fcontents);$c++) {
            
    $i = ord($fcontents[$c]);
            if (
    $i <= 127) {
                
    $out .= $fcontents[$c];
            }
            if (
    $byte2) {
                
    $new_c2 = ($c1 & 3) * 64 + ($i & 63);
                
    $new_c1 = ($c1 >> 2) & 5;
                
    $new_i = $new_c1 * 256 + $new_c2;
                if (
    $new_i == 1025) {
                    
    $out_i = 168;
                } else {
                    if (
    $new_i == 1105) {
                        
    $out_i = 184;
                    } else {
                        
    $out_i = $new_i - 848;
                    }
                }
                
    // UKRAINIAN fix
                
    switch ($out_i){
                    case 
    262: $out_i=179;break;// і
                    
    case 182: $out_i=178;break;// І 
                    
    case 260: $out_i=186;break;// є
                    
    case 180: $out_i=170;break;// Є
                    
    case 263: $out_i=191;break;// ї
                    
    case 183: $out_i=175;break;// Ї
                    
    case 321: $out_i=180;break;// ґ
                    
    case 320: $out_i=165;break;// Ґ
                
    }
                
    $out .= chr($out_i);
                
                
    $byte2 = false;
            }
            if ( ( 
    $i >> 5) == 6) {
                
    $c1 = $i;
                
    $byte2 = true;
            }
        }
        return 
    $out;
    }

     
  3. Morozil_nikЁ

    Morozil_nikЁ Member

    Joined:
    25 Oct 2009
    Messages:
    0
    Likes Received:
    90
    Reputations:
    33
    Тоже проблема с чекером , есть ли рабочий чекер ВК бесплатный , что бы капчу мог сам вводить ?
     
  4. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    Это тяжело назвать чекером прокси. Во-первых непонятно зачем ты щимишся на http://mail.yandex.ru/ загружаеш большой обьем страницы. Во-вторых ты не определяеш анонимная прокся или нет, тип прокси. Очень грязный код. Поищи какой нибуть сервис типа 2ip.ru, я писал когда-то для себя чекер, чекал через свой скрипт залитый на хосте
    http://b3.serveblog.net/ip.php - открой исходник увидиш {**.**.229.166}{anonym} первое ето IP второе ето прозрачность прокси.
     
    _________________________