Owncloud webdav access from php



我正在尝试访问我自己的webdav接口,并从PEAR webdav客户端获得根目录中的文件列表。我正在尝试以下内容:

include("HTTP/WebDAV/Client.php");
$client = new HTTP_WebDAV_Client_Stream();
$user="admin";
$pass = "q1w2e3r4";
$dir = "webdavs://".$user.":".$pass."@127.0.0.1:10081/owncloud/remote.php/webdav/";
$stuff = $client->dir_opendir($dir, array());
var_dump($stuff);
var_dump($client->dirfiles);

代码打印false, false,当我试图调试它时,我在Socket.php中看到连接拒绝错误,当它试图调用函数

fsockopen("127.0.0.1", 10081, $err, $errstr);

更奇怪的是,我可以访问这个服务器,并列出从尸体的目录。我还可以通过替换我的$dir变量来访问测试DAV服务器:

$dir = "webdavs://".$user.":".$pass."@127.0.0.1:10081/owncloud/remote.php/webdav/";

这是一个丑陋的hack,但是如果你添加类似的东西:

 var_dump($err->getMessage()); 

到/usr/share/php/HTTP/Request.php的第739行,您应该能够看到最相关的错误消息。(如果这是Request.php被安装到的地方)

不幸的是,在底层的HTTP_Request包中似乎没有一种机制来将特定的错误消息返回给HTTP_WebDAV_Client_Stream代码。

相关内容

  • 没有找到相关文章

最新更新