c# - API 维基词典网

标签 c# wiktionary

我正在尝试使用 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/

相关文章:

c# - 包含永无止境任务的对象会被垃圾回收吗?

c# - 用私有(private)属性(property)支持公共(public)属性(property)?

c# - 网络核心 : Use memory cache outside controller

php - 如何使用 Wiktionary API 获取发音数据?

php - 使用 PHP 将 Wiktionary XML 数据转储到 MySQL 数据库中

c# - 无法测试回文

c# - Action 链接 CS1026 : ) expected

javascript - 我们可以从维基词典 api 中获得所需的部分吗?

api - 查询维基词典只返回几个词