2

我需要一个 java 代码来使用 wikipedia api。我想在维基百科上获取特定值的标签(出现在页面末尾的标签)。我知道我需要的 api 调用是

"http://en.wikipedia.org/w/api.php?action=query&format=json&titles=Albert%20Einstein&prop=categories" 
(for the example of Albert Einstein)

但是,如果我需要令牌和哈希,或者是否登录,我发现很难从 MediaWiki API 文档页面理解。我知道有时不需要登录。

现在我的代码是:

JSONArray wikiResult=null;
String url1= "http://en.wikipedia.org/w/api.php?action=query&format=json&titles=Albert%20Einstein&prop=categories";
wikiResult=ApiCall(url1);

其中 ApiCall 是一个发送调用的函数,它工作正常,我已经检查过了。返回的 JSONArray 为空。

有人可以告诉我我做错了什么吗?

4

1 回答 1

0

您无需登录或获取prop=categories.

响应中可能解释了实际错误。您可能会得到一个空结果,因为响应不是 JSON(会发生一些错误)。

如果我猜的话,我认为您没有在请求中设置标头,这User-AgentWikimedia wikis 所要求的

于 2013-10-24T16:40:20.603 回答