Wikidata API始终返回空指针异常

shy*_*upa 5 java wikidata-api

我正在使用wikidata api来获取使用其英文标题的实体,

wdf = WikibaseDataFetcher.getWikidataDataFetcher();
eid = wdf.getEntityDocumentsByTitle("enwiki", entitle);
Run Code Online (Sandbox Code Playgroud)

早些时候,使用旧版本的wikidata-api,我能够顺利运行它.更新到5.0.0版后,我总是收到以下错误,

Exception in thread "main" java.lang.NullPointerException
    at org.wikidata.wdtk.wikibaseapi.ApiConnection.fillCookies(ApiConnection.java:544)
    at org.wikidata.wdtk.wikibaseapi.ApiConnection.sendRequest(ApiConnection.java:346)
    at org.wikidata.wdtk.wikibaseapi.WbGetEntitiesAction.wbGetEntities(WbGetEntitiesAction.java:187)
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

Chr*_*ier 4

我遇到同样的问题。我尝试使用 github 上的最新版本并得到相同的异常。我从文档中执行示例,即简单的调用:

Map<String, EntityDocument> results = wbdf.getEntityDocuments("Q80", "P31");
Run Code Online (Sandbox Code Playgroud)

似乎代码不检查给定 cookie 是否存在。我添加了验证,重新编译,一切似乎都正常。

转到 ApiConnection.java:543

if (headerCookies != null)
    for (String cookie : headerCookies) {
Run Code Online (Sandbox Code Playgroud)

没有保修 !:-)