是否可以从列出文件夹内容的 URL 中检索 JSON 格式的文件列表

Posted

技术标签:

【中文标题】是否可以从列出文件夹内容的 URL 中检索 JSON 格式的文件列表【英文标题】:Is it possible to retrieve a list of files in a JSON format from a URL that lists the contents of a folder 【发布时间】:2018-07-16 15:33:30 【问题描述】:

我有一个 不是由我管理的 NFS 位置,并且可以通过浏览它来访问它的内容,id.服务器将文件夹作为 html 页面提供。

类似https://ftp.mozilla.org/pub/firefox/releases/52.0/

是否可以直接在请求响应中获取JSON格式响应的文件列表?无需更改 NFS 服务器上的任何内容,也无需编写代码来解析 HTML?

例如,也许我可以将请求发送到具有不同标头的 URL。

澄清一下:

    当您使用浏览器、curl 或 wget 访问该地址时,您会得到一个 HTML 页面。

    我的动机是我不想挂载 NFS 位置。我想通过从 URL 下载文件来访问它们。

    我不知道保存共享文件夹的服务器类型。

谢谢。

【问题讨论】:

您给出的示例似乎是 HTTP 端点,而不是 NFS 端点。目前还不清楚 NFS 与此有什么关系?这是一个完全不同的协议。无论如何,您是否可以获取另一种格式的数据取决于提供该 HTML 的任何网络服务器软件。您没有提供有关服务器的详细信息,因此我们真的不可能知道。 感谢@ADyson。我已经根据你的 cmets 编辑了这个问题。希望它能澄清我的问题。 并非如此。您通过浏览器访问的是 HTTP 服务器,与 NFS 无关。同样,目前还不清楚这些事情是如何相关的。 NFS 不通过 HTTP 提供服务。在这台服务器上,这显然是一些正在运行并显示文件夹内容的网络服务器软件。也许它已配置为显示与配置为公开的 NFS 共享相同的文件夹,但这并不意味着它实际上与 NFS 有任何关系。您可以从该服务器获取的信息由该服务器运行的任何软件控制。我们不知道那个软件是什么 在我们知道之前,我们无法告诉您什么是可能的。如果它不是您的服务器,您可能应该询问服务器的维护人员它支持什么。无论哪种方式,都与 NFS 无关(即使 NFS 作为一种协议提供,您可以通过该协议安装位置,服务器通过 HTTP 协议提供的服务是完全独立的服务)。 不,它完全依赖于网络服务器中安装和运行的软件。没有“内置”功能,它是完全可配置的。一些网络服务器,例如IIS 和 Apache,带有一些开箱即用的简单软件来列出文件夹内容,但不能保证这就是这里正在运行的东西,即使那样,它也可以关闭,加上确切的版本、配置等可能会出现发挥作用以确定什么是可能的。从记忆中我不认为那些特定的基本工具可以做 JSON 输出,但是 YMMV。 【参考方案1】:

简而言之,答案是否定的。

必须调整为文件夹内容提供服务的网络服务器上的设置。

以下是一些示例,说明如何调整 Apache 以提供文件夹的 JSON 格式文件列表。

使用 PHP 以 JSON 格式列出 Apache 目录

Apache directory listing as json

Apache 外部模块 mod_jsonindex - 可能不是推荐的方式

http://1h.com/opensource/mod_jsonindex.html

【讨论】:

以上是关于是否可以从列出文件夹内容的 URL 中检索 JSON 格式的文件列表的主要内容,如果未能解决你的问题,请参考以下文章

从 Gmail API 获取电子邮件的直接 URL(列出消息)

使用 AsyncTask 从 URL 获取数据到数组列表中

根据 url 从 firestore 检索数据

JavaScript - 如何从脚本内容中检索 src="" url? [复制]

从 URL 检索 zip,但使用 Content-Disposition 文件名标识符保存到本地文件

是否有可用于列出非 zip 档案内容的 gem?