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
#!/usr/bin/perl use strict; use warnings; print "Version Net::FTP: ".$Net::FTP::VERSION."\n"; my $erg = losgehts(); print "Ergebnis: $erg\n"; sub losgehts { use Net::FTP; use IO::Socket::SSL qw(SSL_VERIFY_CLIENT_ONCE); my @hosts = ( { url => 'url.url.de', user => 'benutzername', passw => 'passwort', }, ); foreach my $ref (@hosts) { my $ftp = Net::FTP->new( $ref->{url}, Debug => 0, Passive => 1, SSL_verify_mode => SSL_VERIFY_CLIENT_ONCE, ) or return 'bei '.$ref->{url}.' ist Net::FTP->new() fehlgeschlagen'; $ftp->starttls() or return 'bei ' .$ref->{url} .' ist $ftp->starttls() fehlgeschlagen' ; print "Zeile ".__LINE__."\n"; $ftp->login($ref->{user},$ref->{passw}) or return 'bei ' .$ref->{url} .' ist $ftp->login($ref->{user},$ref->{passw}) fehlgeschlagen' ; print "Zeile ".__LINE__."\n"; my $hash_ref = $ftp->dir() or return 'bei ' .$ref->{url}.' ist $ftp->dir(\'/\') fehlgeschlagen' ; print "Zeile ".__LINE__."\n"; } print "Zeile ".__LINE__."\n"; }
QuoteVersion Net::FTP: 3.11
Zeile 31
Zeile 36
Zeile 40
Zeile 42
Ergebnis: 1
QuoteVersion Net::FTP: 3.11
Zeile 31
Zeile 36
Can't locate object method "del_session" via package "Net::FTP::_SSL_SingleSessionCache" at C:/Strawberry/perl/vendor/lib/IO/Socket/SSL.pm line 3042.
2020-04-01T11:31:31 LinuxerWelche Version von IO::Socket::SSL ist jeweils installiert?
2020-04-01T12:40:25 hajNet::FTP verwendet seine eigene private Cache-Klasse und müsste da mal nachziehen, das wäre durchaus eine Fehlermeldung an das Modul wert.
2020-04-01T12:40:25 hajAls Umgehung kannst Du mit CPAN eine ältere Version von IO::Socket::SSL installieren. Schön ist sowas natürlich nicht,
2020-04-01T18:11:09 biancaIch installiere immer mit perl -MCPAN -e shell. Wie erzwinge ich damit eine ältere Version?
1 2 3 4 5 6 7
my $ftp = Net::FTP->new( $ref->{url}, Debug => 0, Passive => 1, SSL_verify_mode => SSL_VERIFY_CLIENT_ONCE, SSL_session_cache => IO::Socket::SSL::Session_Cache->new(1); # Den hier! ) or return 'bei '.$ref->{url}.' ist Net::FTP->new() fehlgeschlagen';
2020-04-01T18:11:09 bianca