Perl检查互联网连接30秒,如果稳定,不稳定,没有互联网连接

时间:2015-11-04 05:35:46

标签: perl

我希望perl中的脚本可以检查我的互联网是否稳定,不稳定或没有互联网连接。

我使用Ping :: Net脚本,但回复是“你已连接到互联网。”,如果稳定,不稳定或没有互联网连接,则不会在30秒内检查互联网连接。只需回复“您已连接到互联网。”。但事实是我的互联网连接不稳定。连接每3秒钟 - 断开连接。

这是脚本

$ping = Net::Ping->new("icmp");
$ping->port_number("80");
if ( $ping->ping( 'www.google.com', '10' ) ) {
    print "You are connected to the internet.\n";
}
else {
    print "You are not connected to the internet.\n";
}
$ping->close();

我想使用wget作为我的测试人员,但我不知道如何在perl中编写脚本。我的项目是用perl编写的。

1 个答案:

答案 0 :(得分:1)

我不确定我的问题是否正确,你提到你想用wget检查。我在这里使用LWP在perl中发出请求,但是你想执行一个程序并使用结果:

my $res = `wget -O - -q http://google.com`

但是我建议去寻找类似的东西:

use strict;
use warnings;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->agent("007");

my $req = HTTP::Request->new(GET => 'http://google.com');

my $res;
for (1..30) {
    $res = $ua->request($req);
    if ($res->is_success) {
        print localtime." Google is here\n";
    } else {
        print localtime."Google is gone\n";
    }
    sleep 1;
}

由于请求需要花费时间,因此不会检查30秒,但我认为这不是非常重要