Thread WebDAV Testscript (28 answers)
Opened by bianca at 2014-09-22 16:15

GwenDragon
 2015-01-02 10:39
#179017 #179017
User since
2005-01-17
14741 articles
Admin1
[Homepage]
user image
Beispiel für lokalen Server Apache 2.2 + WebDAV), den Rest musst du anpassen.
Bitte https://metacpan.org/pod/distribution/libwww-perl/... wegen der Ermittlung des Realm lesen
Und um zu testen, ob eine Datei schon existiert musst du halt mit LWP ein get() nehmen.

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
use strict;
use warnings;

use LWP::UserAgent;

### hole Daten binär 
my $filename = 'test.txt';
my $content;
{ #slurp mode 
  $/ = undef;
  open (my $fh, '<', $filename) or die $!;
  binmode $fh;
  $content = <$fh>;
  close $fh;
}

### Erzeuge Client
my $ua = LWP::UserAgent->new;
$ua->agent("MyApp/0.1 ");

my $url = 'https://webdav.mediencenter.t-online.de/' . "$filename"; 

# Authentifizierung, https://metacpan.org/pod/distribution/libwww-perl/lwptut.pod#HTTP-Authentication
$ua->credentials( 
 'webdav.mediencenter.t-online.de:443',  # Domain:Port
  'webdav-ng',        # Authentication realm
  'xxx-yyyyyyyyyyyy@t-online.de' => 'test123'    # Loginname, Passwort
);

# PUT-Request absenden
my $res = $ua->put($url, content => $content ); 

if ( $res->is_success ) {
    #print $res->content;
}
else {
    print $res->status_line, "\n";
}


Ich kann es nicht testen, weil ich bei T-Online das Mediacenter nicht aktiviert habe.
Last edited: 2015-01-02 13:18:32 +0100 (CET)

View full thread WebDAV Testscript