![packages.ubuntu.com 是否提供搜索 API?](https://linux22.com/image/1050538/packages.ubuntu.com%20%E6%98%AF%E5%90%A6%E6%8F%90%E4%BE%9B%E6%90%9C%E7%B4%A2%20API%EF%BC%9F.png)
Debian 软件包目录提供了一个简单的 API 来搜索软件包版本。例如此查询结果可以作为 JSON 访问https://sources.debian.net/api/src/libtry-tiny-perl/是否有类似的 APIhttp://packages.ubuntu.com/?
答案1
正如评论的那样穆鲁,Ubuntu 中的所有内容都在 Launchpad 上。Launchpad 的 API也可用于搜索软件包发布版本。举个例子:
- 包裹libtry-tiny-perl在 packages.ubuntu.com
- 包裹libtry-tiny-perl在 Launchpad
- 包裹libtry-tiny-perl在 Launchpad API(响应有限)
要获取 JSON 格式的 API 响应,请使用 curl:
$ curl https://api.launchpad.net/devel/ubuntu/+source/libtry-tiny-perl
可以使用
source_name
基本 URL 中的查询参数来查询软件包发布情况https://api.launchpad.net/1.0/ubuntu/+archive/primary?ws.op=getPublishedSources&&exact_match=true, 例如:
$ curl 'https://api.launchpad.net/1.0/ubuntu/+archive/primary?ws.op=getPublishedSources&source_name=libtry-tiny-perl&exact_match=true'
API 文档有点复杂,即使使用官方 API 客户端启动板库所以我花了一些时间才找到答案。软件包发布的 Ubuntu 版本在字段中给出distro_series_link
。