Автоматически перенаправлять браузер на многие IP-адреса, используя PHP или Javascript - PullRequest
0 голосов
/ 25 октября 2010

У меня есть тонна IP-адресов, которые мне нужно посетить, чтобы посмотреть, активны ли они.Поэтому я планирую перенаправлять браузер снова и снова, а затем просто использовать кнопку «Назад» для просмотра каждой страницы.Каков наилучший способ сделать это?

Скорее всего, у меня будет массив IP-адресов.например:

array(234.324, 2343.323432, 234.234, 234.4543)

Затем я могу использовать какой-то язык сценариев для циклического просмотра и перенаправления браузера на них.С нетерпением ждем некоторых интересных решений.

Ответы [ 4 ]

3 голосов
/ 25 октября 2010

Использование cURL

2 голосов
/ 25 октября 2010

В дополнение к ответу Ковшенина, вот инструмент, который я недавно сделал, который сможет вам помочь.

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){

    $('#error_toggle').click(function() {

        $('#error_details').slideToggle('slow', function() {

        });

    });

    $('#success_toggle').click(function() {

        $('#success_details').slideToggle('slow', function() {

        });

    });

});

</script>

<style>
div
{
font-family: arial;
font-size: 12px;
}

#message
{
font-weight: bold;
font-size: 16px;
}

#error_toggle
{
width: 250px;
font-weight: bold;
text-align: center;
line-height: 25px;
background: #23ae66;
color: #ffffff;
height: 25px;
cursor: pointer;
}

#error_details 
{
display: none;
background: #2b2b2b;
padding: 5px;
color: #ffffff;
width: 240px;
}

#success_toggle
{
width: 350px;
font-weight: bold;
text-align: center;
line-height: 25px;
background: #23ae66;
color: #ffffff;
height: 25px;
cursor: pointer;
}

#success_details 
{
width: 340px;
display: none;
padding: 5px;
color: #ffffff;
background: #2b2b2b;
}
</style>
</head>
<body>
<?php

//Setting up the correct URL and stripping it of un-needed content
$url = $_GET['url'];

    $unwanted_args = array('http://', 'www.');

    $clean_url = str_replace($unwanted_args, '', $url);
    $clean_url = trim($clean_url);

//Initalizing CURL
$set_curl = curl_init($url);

    // Setting the array for which headers to return.
    $headers = array('Expect:');

    //Setting required CURL options
    curl_setopt($set_curl, CURLOPT_FAILONERROR, true);
    curl_setopt($set_curl, CURLINFO_HEADER_OUT, true);
    curl_setopt($set_curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($set_curl, CURLOPT_TIMEOUT, 1);
    curl_setopt($set_curl, CURLOPT_HEADER, false);
    curl_setopt($set_curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($set_curl, CURLOPT_USERAGENT,  "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");

        //Execute request
        curl_exec($set_curl);

    //Check to see if the website is down
    if(curl_error($set_curl)) {

        echo '<div id="message">' . $clean_url . ' is down</div>';

        echo '<div id="error_toggle">Details</div>';
        echo '<div id="error_details">';

        echo  curl_error($set_curl) . '<br />';
        echo 'Error number: ' . curl_errno($set_curl) . '<br />';

        echo '</div>';

    }
    //Else display success message
    else {

        $info = curl_getinfo($set_curl);

        echo '<div id="message">Success! <a href="' . $info['url'] . '">' . $clean_url . '</a> is currently online</div>';

        echo '<div id="success_toggle">Details</div>';
        echo '<div id="success_details">';

        echo 'Url: ' . $info['url'] . '<br />';
        echo 'Total Time: ' . $info['total_time'] . ' Seconds<br />';
        echo 'Average download speed: ' . $info['speed_download'] . ' bytes<br />';
        echo 'Content Type: ' . $info['content_type'] . '<br />';
        echo 'Queried with: ' . $info['request_header'] . '<br />';

        echo '</div>';


    }
//Close CURL conncetion.
curl_close($set_curl);

?>
</body>
</html>
2 голосов
/ 25 октября 2010

Это не рекомендуется.

Если у вас есть сервер с поддержкой PHP, вы можете пропинговать каждый домен:

<?php
function pingDomain($domain){
    $starttime = microtime(true);
    $file      = fsockopen ($domain, 80, $errno, $errstr, 10);
    $stoptime  = microtime(true);
    $status    = 0;

    if (!$file) $status = -1;  // Site is down
    else {
        fclose($file);
        $status = ($stoptime - $starttime) * 1000;
        $status = floor($status);
    }
    return $status;
}
?>
0 голосов
/ 25 октября 2010

Это не похоже на ip-адреса для меня, но что угодно. Почему бы вам не сделать так, чтобы ваш код извлекал каждую страницу, которую вы хотите проверить?

...