我正在尝试使用 Wiktionary 的 API 来了解某些词是否已定义。 我看过开源的WiktionaryNET他们使用此代码:
在我的控制台代码中:
var word = Wiktionary.Define("clean");
foreach (var def in word.Definition)
Console.WriteLine(def);
在 app.config 中:
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
我使用相同的东西但结果总是“Definition.Count = 0” 有人知道,我如何使用或设置才能获得结果?
预先感谢您的帮助。
最佳答案
我是这个库的实现者。感谢您指出了这一点。我将尝试解释发生了什么,以及如果您现在确实需要修复此问题,您可以做什么。
维基词典的响应是 JSON 格式,但解析起来很糟糕。它实际上是一个文本 block 。发生的事情是,自从实现了 wiktionaryNET 以来,wiktionary 的 JSON 响应被修改了。它现在包含一个附加字段。 wiktionaryNET 解析器错误地将其解释为它应该首先解析的内容。结果是来自库的空响应。
您可以从GitHub 下载该项目。 .然后转到WiktionaryJsonQuery.cs并修改 AddQuery
语句以包含 rawcontinue
:
AddQuery("format=json");
AddQuery("rawcontinue"); // <-- add this line
AddQuery("action=query");
AddQuery("prop=revisions");
AddQuery("rvprop=content");
AddQuery("titles=" + word);
构建项目并将生成的 dll
添加到您的项目中。
请注意,这只是测试版。
关于c# - API 维基词典网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27378532/