Ich möchte ein Skript in Perl, das überprüfen kann, ob mein Internet stabil ist, nicht stabil ist oder ob keine Internetverbindung besteht.
ich benutzeNetz::PingSkript, aber die Antwort ist " You are connected to the internet.
", prüft die Internetverbindung nicht innerhalb von 30 Sekunden, ob sie stabil, nicht stabil oder keine Internetverbindung besteht. Antworten Sie einfach mit " You are connected to the internet.
". Aber die Wahrheit ist, meine Internetverbindung ist instabil. Alle 3 Sekunden verbinden – trennen.
Dies ist das Skript
$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();
Ich möchte es als meinen Tester verwenden wget
, weiß aber nicht, wie ich es in Perl skripten kann. Mein Projekt ist in Perl geschrieben.
Antwort1
Ihr Skript scheint fast zu funktionieren. Nach ein paar kleinen Anpassungen kam ich zu folgendem Ergebnis:
#!/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();
Anmerkungen:
- ICMP-Ping erfordert Root-Rechte und könnte eines Tages von Google oder sonst jemandem blockiert werden, also bleiben Sie beim TCP-Ping. Das wird niemand blockieren.
use strict
unduse warnings
sind gute Perl-Gewohnheiten- Sie müssen
use
das Modul