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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
#!/usr/bin/perl use IO::Socket; use POSIX qw(setsid); use LWP 5.64; # Loads all important LWP classes, and makes my $browser = LWP::UserAgent->new; # IP des Rechners auf dem POC32 läuft (der lokale Rechner) $remote_host="192.168.1.100"; # Port auf dem POC32 läuft $remote_port="8001"; # Die Zeit des Programmstarts wird gespeichert $start=time(); $| = 1; $socket = IO::Socket::INET->new(PeerAddr => $remote_host, PeerPort => $remote_port, Proto => "tcp", Type => SOCK_STREAM) or die "Couldn't connect to $remote_host:$remote_port : $@\n"; # Logdatei pocsag.log wird geöffnet open (out,">>pocsag.log"); # Der Client loggt sich bei POC32 ein print $socket "0\n"; $enable=0; # Schleife, solange die TCP Verbindung besteht while (<$socket>) { # Erst nach 10 Sekunden nach Programmstart werden Alarmierungen # verarbeitet. (Sonst wird evtl. beim erneuten Aufruf des Clients # die komplette Liste die noch im POC32 Fenster zu sehen ist # abgearbeitet. if (!$enable) { $uptime=time()-$start; if ($uptime > 3) { $enable=1; } } # Aufsplitten der von POC32 gelieferten Zeilen in Spalten @spalten=split(/\t/,$_); $date=$spalten[0]; $ric=$spalten[3]; $type=substr($spalten[5],0,1); $text=$spalten[6]; # Löschen unerwünschter Zeichen $text=~s/\r\n//; # DOS Zeilenumbruch $text=~s/\n//; # Unix Zeilenumbruch $text=~s/<EOT>//g; # <EOT> (End of Text?) # Ausgeben der Daten auf den Bildschirm und in das Logfile print "$date;$ric;$type;\"$text\"\n"; print out "$date;$ric;$type;\"$text\"\n"; # Wenn die 10 Sekunden "Startphase" um ist, weitere Aktionen mit anstossen. if ($enable) { push_pocsag(); } } close($socket); # Programmende # Funktion push_pocsag sub push_pocsag { # Hier können alle Möglichen Aktionen folgen. # z.B. werden Hier alle Meldungen mit Ausnahme des Zeit / Alive RIC per # HTTP GET an ein PHP Skript auf einem Webserver gesendet. # Alt Stahnsdorf 1 if ($ric eq "1769825" and $type eq "1" ) { my $url = URI->new( 'http://example.com/webin.php/' ); $url->query_form( 'log_user' => perl5123, 'log_pass' => 471142, 'listcode' => "+1", 'text' => 1, 'flash' => 1, ); my $response = $browser->get($url); # Antwort des Webservers: print $response->content."\n"; }
Guest RoccoWarum ist es eigentlich so schwierig eine Https seite zu öffnen wo ist der unterschied?
2019-05-09T13:23:32 rostiDas mit dem Vertrauen ist natürlich ein Witz. Weil ja praktisch jeder Spitzbub ein Zertifikat kaufen kann!