Показать сообщение отдельно

  #14  
Старый 27.04.2007, 21:21
Developer
Участник форума
Регистрация: 03.05.2006
Сообщений: 167
С нами: 10537698

Репутация: 116
По умолчанию

Вот, не поленился написать полностью скрипт проверки прокси:

PHP код:
<?php

// Proxy Checker
// By SpeedHack

// Options
// Слеш после хоста обязателен, т.е. написать просто http://site.ru нельзя
$url = 'http://site.ru/';
$timeout = 15;

// EOL
define('EOL', "\n");

// Proxy check function
// Входящие параметры: IP, порт, URL тест-сайта, таймаут соединение (по умолчанию 30)
function checkProxy ($ip, $port, $url, $timeout = 30)
{
    if (
$fp = fsockopen($ip, $port, $errno, $errstr, $timeout)) {
        
$info = parse_url($url);
        
$headers = 'GET ' . $info['path'] . ' HTTP/1.0' . EOL;
        
$headers .= 'Host: ' . $info['host'] . EOL;
        
$headers .= 'Connection: Close' . EOL . EOL;
        
fwrite($fp, $headers);
        
$buffer = '';
        while (!
feof($fp)) {
            
$buffer .= fread($fp, 1024);
        }
        
fclose($fp);
        
// Тут можно вставить свое условие для проверки
        // Я для примера вставил условие, которое является истинов при
        // Нахождении в полученных данных слова 'OK'
        
return (strpos($buffer, 'OK') !== false) ? true : false;
    } else {
        return 
false;
    }
}

$list = file('proxy_list.txt');

foreach (
$list as $proxy) {
    list(
$ip, $port) = explode(':', rtrim($proxy));
    echo 
'Proxy ' . rtrim($proxy) . ': ';
    echo (
checkProxy($ip, $port, $timeout)) ? '<font color="green">OnLine</font>' : '<font color="red">OffLine</font>';
    echo 
'<br />' . EOL;
}

?>
 
Ответить с цитированием