Debian 软件包目录提供了一个简单的 API 来搜索软件包版本。例如,可以在https://sources.debian.net/api/src/libtry-tiny-perl/以 JSON 形式访问此查询结果。http://packages.ubuntu.com/是否有类似的 API ?
正如muru评论的那样,Ubuntu 中的所有内容都在 Launchpad 上。Launchpad 的 API也可用于搜索软件包版本。举个例子:
要以 JSON 格式获取 API 响应,请使用 curl:
$ curl https://api.launchpad.net/devel/ubuntu/+source/libtry-tiny-perl
Run Code Online (Sandbox Code Playgroud)
可以使用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'
Run Code Online (Sandbox Code Playgroud)
API 文档有点复杂,即使是官方 API 客户端launchpadlib,所以我花了一些时间才弄明白。软件包发行版的 Ubuntu 版本在字段中给出distro_series_link。