HTTP-DAV を ppm でインストール
ppm> install HTTP-DAV
use utf8;
use strict;
use HTTP::DAV;
my ($dav, $url, $user, $password, $filename);
$dav = new HTTP::DAV;
$url = "http://localhost/webdav/";
$user = "username";
$password = "password";
$filename = "hogehoge.txt";
$dav->credentials(-user=>$user, -pass=>$password, -url=>$url);
$dav->open(-url=>$url) or die "Cannot open $url: " . $dav->message . "\n";
# Get file
$dav->get(-local=>"./", -url=>$url.$filename)
or die "Get failed: " . $dav->message . "\n";
# Put file
$dav->put(-local=>"./" . "test.txt", -url=>$url)
or die "Put failed: " . $dav->message . "\n";
ディレクトリ内の全ファイルを取得する場合は callback 関数を準備する必要がある。引数も -local ではなく -to を使用する。
# Get all files
$dav->get(-to=>".", -url=>$url."test/", -callback=>\&getCallback)
or die "Get failed: " . $dav->message . "\n";
########################################################################
# @brief Directory 内のファイル Get に対する Callback
sub getCallback {
my ($status, $msg, $url, $so_far, $length, $data) = @_;
# print "status=$status, msg=$msg, url=$url\n";
# print "so_far=$so_far, length=$length\n";
}
0 件のコメント:
コメントを投稿