Quero um script em perl que possa verificar se minha internet está estável, não estável ou sem conexão com a internet.
eu usoRede::Pingscript, mas a resposta é " You are connected to the internet.
", não verificando a conexão com a Internet em 30 segundos se estiver estável, não estável ou sem conexão com a Internet. Basta responder " You are connected to the internet.
". Mas a verdade é que minha conexão com a internet está instável. A cada 3 segundos, conecte - desconecte.
Este é o roteiro
$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();
Quero usar wget
como meu testador, mas não sei como fazer o script em perl. Meu projeto está escrito em perl.
Responder1
Seu script parece bem perto de funcionar. Aqui está o que acabei depois de alguns ajustes:
#!/usr/bin/perl
use warnings;
use strict;
use Net::Ping;
my $ping = Net::Ping->new("tcp");
$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();
Notas:
- O ping icmp requer privilégios de root e pode ser bloqueado pelo Google ou por alguém intermediário algum dia, então fique com o ping tcp. Ninguém vai bloquear isso.
use strict
euse warnings
são bons hábitos Perl para se ter- você precisa do
use
módulo