Curl 使用api列出github上的所有Java存储库

Curl 使用api列出github上的所有Java存储库,curl,github,github-api,Curl,Github,Github Api,我试图获得特定语言(如Java)的所有github存储库的列表,而不通过任何特定关键字缩小搜索范围。最好是,我希望直接从curl执行此操作,无需编写脚本。问题是我试图格式化API URL,但没有找到正确的URL,其中包括language=Java参数,但没有关键字 例如,以下URL似乎查询描述中带有关键字“语言”或“java”的回购协议,包括一些Scala和Haskell回购协议: curl -X GET https://api.github.com/legacy/repos/search/l

我试图获得特定语言(如Java)的所有github存储库的列表,而不通过任何特定关键字缩小搜索范围。最好是,我希望直接从curl执行此操作,无需编写脚本。问题是我试图格式化API URL,但没有找到正确的URL,其中包括
language=Java
参数,但没有关键字

例如,以下URL似乎查询描述中带有关键字“语言”或“java”的回购协议,包括一些Scala和Haskell回购协议:

 curl -X GET https://api.github.com/legacy/repos/search/language=java
另一方面,使用
表示法返回空结果:

 curl -X GET https://api.github.com/legacy/repos/search?language=java
 curl -X GET https://api.github.com/legacy/repos/search/?language=java
小写或大写的J似乎也无关紧要

那么,如何在不指定关键字的情况下使用language参数呢


评论:一个似乎有效的技巧是使用一个字母关键字,从A到Z重复。有没有不那么尴尬的方法?

您可以使用github站点上的主搜索表单来完成这项工作。但请确保在查询中使用“language:NAME”语法,而不是使用语言下拉列表

例如:


解析不像API中的JSON那么容易,但应该可以完成这项工作。

您已经接近答案了。为了获得特定语言的结果,必须使用冒号,如下所示:

language:{your_language_here}
因此,对于Java,它将是:

curl -X GET https://api.github.com/legacy/repos/search/language:java

根据v3 api,我会使用它:

如果要排序,请执行以下操作:


是的,似乎唯一的方法就是单字母关键字把戏。有趣的是,即使他们的webapp搜索也不允许您在不指定关键字的情况下搜索所有Java(或任何其他lang)存储库--。不管出于什么原因,他们一定是故意这么做的。你找到什么好办法了吗?