Thread Unzuverlässigkeit Net::FTP (35 answers)
Opened by bianca at 2015-04-19 07:18

bianca
 2015-04-20 10:31
#180725 #180725
User since
2009-09-13
6977 Artikel
BenutzerIn

user image
Hab es Dank GwenDragon nachstellbar hinbekommen. Unterbricht bei mir jedesmal im 30. Durchgang.
Gegenprobe ohne TLS läuft und läuft und läuft...
Kann das jemand bei sich nachvollziehen? Arme GwenDragon springt hier immer ganz allein in die Bresche.
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
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use v5.10;

my $debug = defined;
my $use_tls = defined;

print "INC:\n".join("\n",@INC);
print "\n\n";

print "Version Net::FTP::File: ".$Net::FTP::File::VERSION."\n";
print "Version Net::FTP: ".$Net::FTP::VERSION."\n";
print "Version IO::Socket::SSL: ".$IO::Socket::SSL::VERSION."\n";
print "Version IO::Socket::IP: ".$IO::Socket::IP::VERSION."\n";
print "Version IO::Handle: ".$IO::Handle::VERSION."\n";
print "Version Net::SSLeay: ".$Net::SSLeay::VERSION."\n";

use IO::Socket::SSL 2.012 qw(SSL_VERIFY_CLIENT_ONCE);
if (defined $debug) {$IO::Socket::SSL::DEBUG = 3}
use Net::FTP 3.05;
use Net::FTP::File;

my $ftp = Net::FTP->new(
    '*****',
    Debug               => (defined $debug ? 1 : 0),
    Passive             => 1,
    Timeout             => 15,
    SSL_ca_file         => 'test_ftp_zertifikat.pem',
) or die 'Fehler '.$@.' in '.__LINE__;

if (defined $use_tls) {
    $ftp->starttls() or die "Fehler in ".__LINE__." wegen '$@'";
}
$ftp->login('*****','*****') or die 'Fehler in '.__LINE__;
if (!$ftp->isdir('/tmp')) {
    $ftp->mkdir('/tmp',1) or die 'Fehler in '.__LINE__;
    $ftp->site('CHMOD 0755 tmp') or die 'Fehler in '.__LINE__;
}
$ftp->cwd('/tmp') or die 'Fehler in '.__LINE__;
my $hash_ref = $ftp->dir();
say "dir Ergebnis:\n".Dumper($hash_ref);

$ftp->binary or die 'Fehler in '.__LINE__;
for (my $z = 1; $z <= 40; $z ++) {
    say "\n\n\nDurchlauf $z:";
    if ($ftp->isfile('testdatei.png')) {
        $ftp->delete('testdatei.png') or die 'Fehler in '.__LINE__;
    }
    if (!$ftp->isfile('testdatei.png')) {
        $ftp->put('test_ftp_datei.png','testdatei.png') or die 'Fehler in '.__LINE__;
        $ftp->site('CHMOD 0755 testdatei.png') or die 'Fehler in '.__LINE__;
        $hash_ref = $ftp->dir();
        say "dir Ergebnis:\n".Dumper($hash_ref);
        $ftp->get('testdatei.png','test_ftp_datei.png') or die 'Fehler in '.__LINE__;
        say "dir Ergebnis:\n".Dumper($hash_ref);
    }
    else { say "Datei löschen fehlgeschlagen!"; }
}


Gekürzte Ausgabe:
Quote
#Durchlauf 30:
#Net::FTP=GLOB(0x2b993a8)>>> SIZE testdatei.png
#Net::FTP=GLOB(0x2b993a8)<<< 213 116770
#Net::FTP=GLOB(0x2b993a8)>>> PWD
#Net::FTP=GLOB(0x2b993a8)<<< 257 "/tmp" is the current directory
#Net::FTP=GLOB(0x2b993a8)>>> CWD testdatei.png
#Net::FTP=GLOB(0x2b993a8)<<< 550 testdatei.png: No such file or directory
#Net::FTP=GLOB(0x2b993a8)>>> CWD /tmp
#Net::FTP=GLOB(0x2b993a8)<<< 250 CWD command successful
#Net::FTP=GLOB(0x2b993a8)>>> PWD
#Net::FTP=GLOB(0x2b993a8)<<< 257 "/tmp" is the current directory
#Net::FTP=GLOB(0x2b993a8)>>> DELE testdatei.png
#Net::FTP=GLOB(0x2b993a8)<<< 250 DELE command successful
#Net::FTP=GLOB(0x2b993a8)>>> SIZE testdatei.png
#Net::FTP=GLOB(0x2b993a8)<<< 550 testdatei.png: No such file or directory
#Net::FTP=GLOB(0x2b993a8)>>> PWD
#Net::FTP=GLOB(0x2b993a8)<<< 257 "/tmp" is the current directory
#Net::FTP=GLOB(0x2b993a8)>>> CWD testdatei.png
#Net::FTP=GLOB(0x2b993a8)<<< 550 testdatei.png: No such file or directory
#Net::FTP=GLOB(0x2b993a8)>>> CWD /tmp
#Net::FTP=GLOB(0x2b993a8)<<< 250 CWD command successful
#Net::FTP=GLOB(0x2b993a8)>>> PWD
#Net::FTP=GLOB(0x2b993a8)<<< 257 "/tmp" is the current directory
#Net::FTP=GLOB(0x2b993a8)>>> PASV
#Net::FTP=GLOB(0x2b993a8)<<< 227 Entering Passive Mode (***,***,***,***,***,***).
#Net::FTP=GLOB(0x2b993a8)>>> STOR testdatei.png
#DEBUG: .../IO/Socket/SSL.pm:542: socket not yet connected
#DEBUG: .../IO/Socket/SSL.pm:544: socket connected
#DEBUG: .../IO/Socket/SSL.pm:566: ssl handshake not started
#DEBUG: .../IO/Socket/SSL.pm:599: using SNI with hostname *****
#DEBUG: .../IO/Socket/SSL.pm:634: request OCSP stapling
#DEBUG: .../IO/Socket/SSL.pm:653: set socket to non-blocking to enforce timeout=15
#DEBUG: .../IO/Socket/SSL.pm:667: Net::SSLeay::connect -> -1
#DEBUG: .../IO/Socket/SSL.pm:677: ssl handshake in progress
#DEBUG: .../IO/Socket/SSL.pm:687: waiting for fd to become ready: SSL wants a read first
#DEBUG: .../IO/Socket/SSL.pm:707: socket ready, retrying connect
#DEBUG: .../IO/Socket/SSL.pm:2505: did not get stapled OCSP response
#DEBUG: .../IO/Socket/SSL.pm:667: Net::SSLeay::connect -> 1
#DEBUG: .../IO/Socket/SSL.pm:722: ssl handshake done
#Net::FTP=GLOB(0x2b993a8)<<< 150 Opening BINARY mode data connection for testdatei.png
#DEBUG: .../IO/Socket/SSL.pm:1796: SSL read error
#Net::FTP: Net::Cmd::getline(): unexpected EOF on command channel: Bad file descriptor at C:/strawberry/perl/lib/Net/FTP/dataconn.pm line 82.
#Fehler in 52 at script.pl line 52.
#DEBUG: .../IO/Socket/SSL.pm:2635: free ctx 38268448 open=38268448
#DEBUG: .../IO/Socket/SSL.pm:2640: free ctx 38268448 callback
#DEBUG: .../IO/Socket/SSL.pm:2647: OK free ctx 38268448

Last edited: 2015-04-20 10:33:40 +0200 (CEST)
10 print "Hallo"
20 goto 10

View full thread Unzuverlässigkeit Net::FTP