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

发布于 2024-09-29 08:22:53 字数 220 浏览 1 评论 0原文

我有大量的 IP 地址,需要访问它们来查看它们是否处于活动状态。所以我的计划是一遍又一遍地重定向浏览器,然后只使用后退按钮查看每个页面。最好的方法是什么?

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

array(234.324, 2343.323432, 234.234, 234.4543)

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

I have a ton of IP addresses that I need to visit to see if they are active. So my plan is to redirect the browser over and over again and then just use the back button to view each page. What is the best way to do this?

I will most likely have an array of IP addresses. like:

array(234.324, 2343.323432, 234.234, 234.4543)

Then I can use some sort of scripting language to loop through and redirect the browser to these. Looking forward to seeing some cool solutions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

习惯成性 2024-10-06 08:22:53

使用 cURL

Use cURL

初心未许 2024-10-06 08:22:53

除了 Kovshenin 的回复之外,这是我最近制作的一个工具,可以帮助您。

<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>

Further to Kovshenin's reply, here is a tool I made recently that will be able to help you out.

<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>
空城仅有旧梦在 2024-10-06 08:22:53

不建议这样做。

如果您有支持 PHP 的服务器,则可以 ping 每个域:

<?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;
}
?>

That is not recommended.

If you have a PHP-capable server, you can ping each domain:

<?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;
}
?>
明明#如月 2024-10-06 08:22:53

对我来说,这些看起来不像 IP 地址,但无论如何。为什么不让代码获取您有兴趣检查的每个页面呢?

Those do not look like ip-addresses to me, but whatever. Why don't you just make your code fetch each of the pages you are interested in checking?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文