使用API​​

时间:2017-08-09 23:23:29

标签: chocolatey

有没有办法在chocolatey.org网站上使用OData api获取社区仓库中所有可用软件包的列表?

我尝试了什么:

我可以看到使用Packages公开的$ metadata服务:

https://chocolatey.org/api/v2/ $元数据

从这里我可以使用这样的东西来获得XML的第一个“页面”:

http://chocolatey.org/api/v2/Packages()?$跳过= 0

我认为网站默认限制为40个“条目”,因此可以相应地更改$ skip。

(另一种方法是使用$ skipToken指向下一个“页面”)。

所有版本似乎都在回复中返回。编写一个有效下载数据库的循环是不负责任的。我不认为网站所有者会欣赏这一点。我不打算定期这样做。

除此之外,有没有更好的方法来使用API​​,而不是通过choco CLI来获取包列表?

更新1 使用过滤器变得更温暖 - 在元数据中提供线索 例如。 https://chocolatey.org/api/v2/Packages()?$滤波器= IsLatestVersion 现在至少只返回最新版本。

由于

1 个答案:

答案 0 :(得分:2)

您可以使用类似Fiddler的方法来检查Chocolatey CLI的流量。发出choco search git会显示以下请求:

GET /api/v2/Search()?$filter=IsLatestVersion&$skip=0&$top=30&searchTerm='git'&targetFramework=''&includePrerelease=false HTTP/1.1

请注意,您必须先联系他们,然后才能使用他们的API。即使只是供个人使用。他们没有关于其API的公开文档,因此应将其视为内部资源。