【发布时间】:2020-09-15 13:53:06
【问题描述】:
我正在尝试通过 WebDav 协议访问远程服务器,更具体地说是 Perl 的 HTTP::DAV 模块。
根据其文档,与远程目录的耦合以下列方式发生:
use HTTP::DAV;
$d = HTTP::DAV->new();
$url = "http://host.org:8080/dav/";
$d->credentials(
-user => "pcollins",
-pass => "mypass",
-url => $url,
-realm => "DAV Realm"
);
$d->open( -url => $url )
or die("Couldn't open $url: " .$d->message . "\n");
我创建了一个本地 webdav 目录,并且可以通过 http protocol 完美访问它。
根据HTTP::DAV 的文档,应该有和https 支持以及使用Crypt::SSLeay 模块。
Crypt::SSLeay 的文档为我们提供了在LWP::UserAgent 模块内使用的以下概要,从而为我们提供了通过https 协议访问网络资源:
use Net::SSL;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new(
ssl_opts => { verify_hostname => 0 },
);
my $response = $ua->get('https://www.example.com/');
print $response->content, "\n";
我的问题是:
如何组合 HTTP::DAV and Crypt::SSLeay 模块以便通过 WebDav and https 协议访问 Web 资源?
类似于以下内容:
use HTTP::DAV;
$d = HTTP::DAV->new();
$url = "https://host.org:8080/dav/";
#...
【问题讨论】: