代码之家  ›  专栏  ›  技术社区  ›  Mike

使用PHP或Javascript将浏览器自动重定向到多个ip地址

  •  0
  • Mike  · 技术社区  · 14 年前

    我很可能有一个IP地址数组。比如:

    array(234.324, 2343.323432, 234.234, 234.4543)

    然后我可以使用某种脚本语言循环并将浏览器重定向到这些脚本。期待看到一些很酷的解决方案。

    4 回复  |  直到 14 年前
        1
  •  2
  •   Connor Burton    14 年前

    关于科夫申恩的回答,这里是我最近制作的一个工具,可以帮助你。

    <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
  •  3
  •   kovshenin    14 年前
        3
  •  2
  •   Evan Mulawski    14 年前

    这是不推荐的。

    <?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;
    }
    ?>
    
        4
  •  0
  •   Klaus Byskov Pedersen    14 年前

    对我来说,这些看起来不像ip地址,但不管怎样。为什么不让代码获取您感兴趣检查的每个页面呢?