如何在 CQ 中使用 CURL 从 JCR 中的目录下获取所有网页?
How to fetch all web pages from under a directory in JCR using CURL in CQ?
我想使用 curl 从我的 CQ 内容中的目录下(递归地)获取所有网页。有人可以帮忙吗?
Apache Sling JSON GET servlet 在 CQ 中默认启用,因此只要访问控制允许,您就可以使用 /content.tidy.N.json
等 URL 检索子树,其中 N 是所需的递归级别。
例如,
curl -s -u admin:admin http://localhost:8080/content/geometrixx.tidy.2.json
检索 /content/geometrixx
下的两层树。
如果结果包含的元素多于可配置的限制,您将收到 302 响应,其中列出了以多个较小单位提供结果的 URL。
另见 http://sling.apache.org/documentation/bundles/rendering-content-default-get-servlets.html
使用 /bin/querybuilder
servlet。例如,以下命令将从 /content/geometrixx/en
:
中获取所有 cq:Page
节点
curl -u admin:admin \
"http://localhost:4502/bin/querybuilder.json?p.limit=-1&path=%2fcontent%2fgeometrixx%2fen&type=cq%3aPage"
URL本身可能不是很清楚,但是可以自动生成。为了获得这样的 URL,请打开 /libs/cq/search/content/querydebug.html
下可用的 QueryBuilder 调试器工具。然后粘贴以下 QueryBuilder 谓词:
type=cq:Page
path=/content/geometrixx/en
p.limit=-1
然后点击搜索。生成的 URL 到 JSON 结果在 JSON QueryBuilder link 下可用。有关谓词格式的更多信息,请参见 official documentation.
我想使用 curl 从我的 CQ 内容中的目录下(递归地)获取所有网页。有人可以帮忙吗?
Apache Sling JSON GET servlet 在 CQ 中默认启用,因此只要访问控制允许,您就可以使用 /content.tidy.N.json
等 URL 检索子树,其中 N 是所需的递归级别。
例如,
curl -s -u admin:admin http://localhost:8080/content/geometrixx.tidy.2.json
检索 /content/geometrixx
下的两层树。
如果结果包含的元素多于可配置的限制,您将收到 302 响应,其中列出了以多个较小单位提供结果的 URL。
另见 http://sling.apache.org/documentation/bundles/rendering-content-default-get-servlets.html
使用 /bin/querybuilder
servlet。例如,以下命令将从 /content/geometrixx/en
:
cq:Page
节点
curl -u admin:admin \
"http://localhost:4502/bin/querybuilder.json?p.limit=-1&path=%2fcontent%2fgeometrixx%2fen&type=cq%3aPage"
URL本身可能不是很清楚,但是可以自动生成。为了获得这样的 URL,请打开 /libs/cq/search/content/querydebug.html
下可用的 QueryBuilder 调试器工具。然后粘贴以下 QueryBuilder 谓词:
type=cq:Page
path=/content/geometrixx/en
p.limit=-1
然后点击搜索。生成的 URL 到 JSON 结果在 JSON QueryBuilder link 下可用。有关谓词格式的更多信息,请参见 official documentation.