Bonjour à tous,
je suis vraiment débutant en programmation.
Je rencontre parfois un désagrément avec ma box fibre qui change d'adresse IP Publique parfois, pourtant censée être fixe.
Pour connaitre ma nouvelle IP quand je ne suis pas chez moi, j'ai mis en place un script qui m'envoie par mail mon IP.
J'ai une VM en debian qui fait ce travail. Mais comme je ne veux pas être spammé toutes les heures (selon la crontab) avec un mail comportant mon adresse ip, je voudrais avoir un mail seulement si mon adresse IP publique n'est plus celle attendue.
voici le code (avec anonymisation)
Ce que j'obtiens à l'exécution du script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #!/usr/bin/perl my $IP = '222.222.222.222'; my $url = 'http://icanhazip.com'; my $html = qx{wget --quiet --output-document=- $url}; print "$IP est IP Attendue\n"; print "$html est l'adresse reelle\n"; # Envoie de l'adresse par mail if ("$html" != "$IP") { $to = 'monID@gmail.com'; $from = 'monID@gmail.com'; $subject = 'IP Email'; $message = $html; open(MAIL, "|/usr/sbin/sendmail -t"); # Email Header print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; # Email Body print MAIL $message; close(MAIL); print "Email Sent Successfully\n"; } else { print "l'adresse n'a pas changé, pas de mail envoyé\n"; }
l'adresse n'a pas changé, pas de mail envoyé222.222.222.222 est IP Attendue
222.222.222.223 est l'adresse reelle
Bon la mise en forme laisse à désirer, j'en conviens.
donne l'adresse IP avec un retour à la ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 my $url = 'http://icanhazip.com'; my $html = qx{wget --quiet --output-document=- $url};
Je ne sais pas comment faire pour que PERL analyse les deux chaînes présentées.
J'aimerais qu'il analyse deux chaines de caractères et voient si ce sont les même ou pas.
Est-ce que quelqu'un aurait la gentillesse de m'éclairer. Je trouve des choses bien compliquées sur le net pour le moment ?
Merci à vous
Virtua
Partager