Thread Perl 5.8.8 und https (13 answers)
Opened by Rocco at 2019-05-08 12:48

guest Rocco
 2019-05-08 12:48
#190016 #190016
Hallo
ich brauche Hilfe von den Perl Fachleuten!
Ich habe vor Jahren (2004) ein Skript zur Verfügung gestellt bekommen und es arbeitet seitdem perfekt. Jetzt soll die Anbindung an eine Webseite über https erfolgen und ich bekomme eine Fehlermeldung " LWP will support https URLs if the Crypt::SSLeay module is instaliert " Ich nutze Perl 5.8.8 auf einem Windows 97 Rechner (Ich weiß alles alter kram aber Funktionierte Bestes) Gibt es die Möglichkeit diese Perlversion aufzurüsten das er diese Https kann?
Anbei der Anfang des Scrips
Danke Gruß Rocco
Code (perl): (dl )
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";
 }


modedit Editiert von GwenDragon: login anonymisiert
Last edited: 2019-05-08 14:47:47 +0200 (CEST)

View full thread Perl 5.8.8 und https