<七>–调用网络API
最后更新于:2022-04-01 07:11:23
# 【Qt编程】基于Qt的词典开发系列--调用网络API
前面文章中我们实现了本地的词库设计,可以完成本地的查词功能,那么这篇文章**主要讲一讲如何通过调用网络的api来实现词典的网络查词功能**。
## 词典API的选择
基本上市面上做词典软件的公司都有对应的api,比如说有道、金山等等,不过一般都需要api key,有点麻烦,于是乎,我就找了个简单好用的扇贝网API:[http://www.shanbay.com/help/developer/api/](http://www.shanbay.com/help/developer/api/) 奇怪的是,该api说要停用了,可以从我去年暑假完成该软件制作,到如今为止,还能正常使用。
##扇贝词典api的使用
进入上面我给的扇贝网的api地址,我们可以看出该api文档还是比较详细。像我这种从未接触过网络编程的人来说,也能比较了解。下面我们来简单说说怎么使用这些api。由于我词典的功能只有查词、添加单词两种功能,因此只需要使用文档中的对应的api接口就可以了。
在api介绍的开始处,有下面的文字如下:

因此,在使用该api时,**我们必须首先注册**!完成注册并登录后,我们继续查看api文档,由于我们只实现查询单词和保存单词的功能(当然也可以实现文档中的其它功能,使用方法类似),因此只需关注下面如图所示的内容就够了:

有可能你看了图中的内容,还是一头雾水,那么我们可以先尝试一下。**首先确保已经登录了扇贝网,然后在浏览器中输入**:[http://www.shanbay.com/api/word/test](http://www.shanbay.com/api/word/test) ,然后我们就可以看到如下的内容:

图中的内容就是我们查询test单词所得到的结果。如果我们想要保存该单词,则只需要在浏览器中输入:[http://www.shanbay.com/api/learning/add/test](http://www.shanbay.com/api/learning/add/test) 我们得到的结果如下:

上图说明这个单词已经被我们保存了,并且给予了它一个编号。因此,当我们再查询该单词的时候,即在浏览器中输入:[http://www.shanbay.com/api/word/test](http://www.shanbay.com/api/word/test) 会发现id不再是0,而是与上面的编号相同:

到目前为止,上述的操作都不涉及到编程,都是直接在浏览器中进行的操作。然而,我们想要在词典中实现该功能,则就**不得不面对两个问题:1、编程实现用户的登录及调用api;2、解析调用api后返回的json格式的数据。**
**上述的两个问题都会在后续的系列文章中予以解决,敬请关注。**