X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Скрипт проверки работоспособности прокси на сервере
alexa
alexa
Topic Starter сообщение 19.12.2008, 20:08; Ответить: alexa
Сообщение #1


Оптимизатор-Программист
******

Группа: Active User
Сообщений: 1507
Регистрация: 6.2.2008
Поблагодарили: 198 раз
Репутация:   54  


Написал PHP скриптик для проверки PROXY на сервере
и получалось так что PROXY не работал в некоторых модулях на сервере которых стоит возможность использования PROXY, локально проверил работает, а на сервере –нет

Всё, Спасибо за внимание! Юзайте ребята на здоровье!


<?php
$list = "61.131.31.1944444444:8080     srty dfth dfg h
82.142.152.444444440:80     dfgh dfg hd
123.130.112.17:8080     dfgh dfg hdf

";

$goodproxylist = '';
    
function pping ($a)
{
    error_reporting(0);
    $z=explode(":", $a);
    $z= $z[0];
    $fo = fsockopen($z, 21, $errno, $errstr, 1);
    if ($fo) $ret = 1;
        else $ret = 0;
    fclose($fo);
    return $ret;
}

foreach (explode ("\n", $list) as $key=>$value) {
    $z ='';
    $z=explode("\t", trim($value));
    $allproxy[] = $z[0];
}


foreach ($allproxy as $key=>$value)
{
    $proxy = $value;
    if(strlen($proxy)<5) continue;
    //if (!pping($value)) continue;

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://iscience.ru/');
    curl_setopt($ch, CURLOPT_HEADER, 1);

    $headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';
    $headers[] = 'Connection: Keep-Alive';
    $headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
    $user_agent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)';
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);


    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
    curl_setopt($ch, CURLOPT_PROXY, "$proxy");
    curl_setopt($ch,CURLOPT_FAILONERROR,true);

    $data = curl_exec($ch);


    if (curl_error($ch)) {
        print "Curl error #: " . curl_errno($ch) . " - " . curl_error ($ch) . " - exiting.<br>";
    }else {
        echo $proxy . ' - fine<br>';
        $goodproxylist .= $proxy.'<br>';
    }
    curl_close($ch);
    @ob_flush(); flush();
}

echo '<hr>'.$goodproxylist.'<hr>';



?>


Сообщение отредактировал alexa - 20.12.2008, 2:36


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Samborsky
Samborsky
сообщение 19.12.2008, 21:18; Ответить: Samborsky
Сообщение #2


Бывалый
****

Группа: User
Сообщений: 426
Регистрация: 31.7.2008
Поблагодарили: 139 раз
Репутация:   19  


if (fsockopen($z, 21, $errno, $errstr, 1)) return 1;


А хендлы кто за тебя закрывать будет?
Сервер быстренько из-за CLOSE_WAIT обвалится


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexa
alexa
Topic Starter сообщение 20.12.2008, 2:36; Ответить: alexa
Сообщение #3


Оптимизатор-Программист
******

Группа: Active User
Сообщений: 1507
Регистрация: 6.2.2008
Поблагодарили: 198 раз
Репутация:   54  


поправил скриптик


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Samborsky
Samborsky
сообщение 20.12.2008, 3:28; Ответить: Samborsky
Сообщение #4


Бывалый
****

Группа: User
Сообщений: 426
Регистрация: 31.7.2008
Поблагодарили: 139 раз
Репутация:   19  


Я бы посоветовал так же в обязательном порядке делать проверки на ошибки.
Вот так должны выглядеть функция проверки прокси. В остальных тоже нужно делать проверки.

function pping($a){

    error_reporting(0);
    
    $ret = 0;
    
    $z = explode(":", $a);

    // Если это прокси, то в $z должно быть 2 элемента. В идеале можно регуляркой проверить что это IP:PORT
    if( 2 == count($z) ){

        $z = $z[0];

        if( $fo = fsockopen($z, 21, $errno, $errstr, 1) ){
            
            $ret = 1;
            fclose($fo);
        }
    }

    return $ret;
}


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexa
alexa
Topic Starter сообщение 20.2.2009, 20:53; Ответить: alexa
Сообщение #5


Оптимизатор-Программист
******

Группа: Active User
Сообщений: 1507
Регистрация: 6.2.2008
Поблагодарили: 198 раз
Репутация:   54  


// Если это прокси, то в $z должно быть 2 элемента. В идеале можно регуляркой проверить что это IP:PORT

товарищ Samborsky, вы глубоко ошибаетесь smile.gif
тут лучший вариант будет intval а потом уже порверка на длину

Сообщение отредактировал alexa - 20.2.2009, 20:54


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
imp
imp
сообщение 23.2.2009, 19:56; Ответить: imp
Сообщение #6


Новичок
*

Группа: Viewer
Сообщений: 8
Регистрация: 23.2.2009
Поблагодарили: 0 раз
Репутация:   0  


подскажите как можно дополнить ниже изложеный код :

IP 200.1.1.1-255.1.1.1
порты , 80,8080,3128

что бы проверял ИП по очереде и порты и если находил проксю записывал в файл.... ph34r.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FjuZ
FjuZ
сообщение 23.2.2009, 21:07; Ответить: FjuZ
Сообщение #7


6931fb
******

Группа: Active User
Сообщений: 1551
Регистрация: 3.2.2009
Из: UA
Поблагодарили: 595 раз
Репутация:   79  


спасибо! сейчас посмотрим smile.gif


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexa
alexa
Topic Starter сообщение 24.2.2009, 14:21; Ответить: alexa
Сообщение #8


Оптимизатор-Программист
******

Группа: Active User
Сообщений: 1507
Регистрация: 6.2.2008
Поблагодарили: 198 раз
Репутация:   54  


(imp @ 23.2.2009, 17:56) *
подскажите как можно дополнить ниже изложеный код :

IP 200.1.1.1-255.1.1.1
порты , 80,8080,3128

что бы проверял ИП по очереде и порты и если находил проксю записывал в файл.... ph34r.gif

данный скрипт какраз это и делает ....
сгенерируйте диапазон айпи адресов ... и айпипортов, такое елементарно делается на ПХП


Более свежая версия скрипта тут
php-online-proxy-script-for-web-server

для строки
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

советую увеличивать таймаут прокси
10- это для нормального прокси, а все шаровые имеют лимиты
и там таймаут нужно ставить 60-80 секунд .....
тем самым увеличивается время проверки


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
imp
imp
сообщение 24.2.2009, 16:58; Ответить: imp
Сообщение #9


Новичок
*

Группа: Viewer
Сообщений: 8
Регистрация: 23.2.2009
Поблагодарили: 0 раз
Репутация:   0  


(alexa @ 24.2.2009, 13:21) *
данный скрипт какраз это и делает ....
сгенерируйте диапазон айпи адресов ... и айпипортов, такое елементарно делается на ПХП


Более свежая версия скрипта тут
php-online-proxy-script-for-web-server

для строки
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

советую увеличивать таймаут прокси
10- это для нормального прокси, а все шаровые имеют лимиты
и там таймаут нужно ставить 60-80 секунд .....
тем самым увеличивается время проверки


угу если с ПХП хорошо знаком... а если нет это вызывает определенные трудности
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
imp
imp
сообщение 24.2.2009, 18:03; Ответить: imp
Сообщение #10


Новичок
*

Группа: Viewer
Сообщений: 8
Регистрация: 23.2.2009
Поблагодарили: 0 раз
Репутация:   0  


и еще вопрос почему не накручиваются рейтин ведь поидеи когда идет проверка прокси если она удачьная он обращается к сайту через нее... blink.gif

вот через Оперу нормально при подстановки прокси нормально регистрирует новый хот что просмотрел... blink.gif

Сообщение отредактировал imp - 24.2.2009, 18:11
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Nosok.org - сервис приватных SOCKS/HTTP прокси
SOCKS/HTTP прокси
18 Nosokproxy 3353 Сегодня, 10:33
автор: Nosokproxy
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыSE Ranking – новый сервис для проверки позиций сайтов в поисковиках
172 seranking 157853 Вчера, 16:34
автор: One_on_One
Открытая тема (нет новых ответов) PROXY6.NET - Индивидуальные прокси / IPv6 от 3.6 руб (29 подсеть) / IPv4 = 69.9 руб (RU/US/UA)
28 proxy6 6890 3.12.2017, 2:33
автор: dimkalan
Открытая тема (нет новых ответов) Facebook палит прокси. Кто как решает эту проблему?
24 Twickbot 3185 29.11.2017, 9:30
автор: Mikki
Открытая тема (нет новых ответов) Ищу скрипт новостного агрегатора
0 Cunningfox 473 27.11.2017, 21:17
автор: Cunningfox


 



RSS Текстовая версия Сейчас: 12.12.2017, 20:19
Дизайн