Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с проверкой прокси

9.2K
15 ноября 2008 года
Alex_Dev_Denver
26 / / 22.04.2006
Делаю заказ. И мягко говоря я с ним справился на половину.
Но сделать надо. Сидим не знаем как сделать.
Нужно проверить прокси на работоспособность.
Вот что получилось пока что: (fsockopen() почему то не работает на сервере)
Решили сделать через cURL
Код:
<?php

 function check_ip($url){
    $time_out = 12;
    $handle = curl_init($url);
    // return as a string.
    curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);
    // Prevents your page from hanging if the remote site is down.
    curl_setopt($handle, CURLOPT_CONNECTTIMEOUT, $time_out);
    curl_setopt($handle, CURLOPT_FRESH_CONNECT, 1); // don't use a cached version of the url
    curl_setopt($handle, CURLOPT_HTTPPROXYTUNNEL,TRUE);
    //curl_setopt($handle, CURLOPT_PROXY, $url);
    curl_setopt($handle, CURLOPT_USERAGENT,"Mozilla/4.0");
    curl_setopt($handle, CURLOPT_MAXREDIRS,15);
    //curl_setopt($handle, CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($handle, CURLOPT_HEADER,0);
    $info = array();
    $info[0] = curl_getinfo($handle,CURLINFO_CONNECT_TIME);
    $info[1] = curl_getinfo($handle, CURLINFO_TOTAL_TIME);
    $info[2] = curl_getinfo($handle, CURLINFO_SPEED_DOWNLOAD);

    $buffer = curl_exec($handle);
    if (curl_errno($handle)) {
         echo curl_error($handle)."<br>";
    }
    else {
        curl_close($handle);
        if (empty($buffer)) {
            echo 'Unable to connect to '.$url.' <br>';
        } else {
            $buffer = preg_replace('/(?s)<meta http-equiv="Expires"[^>]*>/i', '', $buffer);
            if ($buffer === true) {
                echo 'Page has a redirect, please enter the URL of the final redirection <br>';
            } else {
               print($buffer);
               echo $info[0]." s(connect time)<br>".
                   $info[1]." s (total time) <br>".
                  $info[2]." (speed)<br>";

               echo "Proxy is good <br>";
            }

        }
    }

 }



 if($_POST['submit_ip']){
 check_ip($_POST['ip']);
 }

  echo "<div class=box><br>
    <div align=left>
    <form name=test_ip method=post>
    IP: <input name=\"ip\" type=\"text\" value=\"\" size=15 maxlength=30>
    <input type=\"submit\" name=submit_ip value=\"Test\">
    </form></div>
 </div>";

?>

Очень благодарен буду за помощь.
Удачи
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог