# 【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介绍的开始处,有下面的文字如下:
![](https://box.kancloud.cn/2016-01-15_5698c1c794b50.jpg)
因此,在使用该api时,**我们必须首先注册**!完成注册并登录后,我们继续查看api文档,由于我们只实现查询单词和保存单词的功能(当然也可以实现文档中的其它功能,使用方法类似),因此只需关注下面如图所示的内容就够了:
![](https://box.kancloud.cn/2016-01-15_5698c1c7a5fed.jpg)
有可能你看了图中的内容,还是一头雾水,那么我们可以先尝试一下。**首先确保已经登录了扇贝网,然后在浏览器中输入**:[http://www.shanbay.com/api/word/test](http://www.shanbay.com/api/word/test) ,然后我们就可以看到如下的内容:
![](https://box.kancloud.cn/2016-01-15_5698c1c7bae38.jpg)
图中的内容就是我们查询test单词所得到的结果。如果我们想要保存该单词,则只需要在浏览器中输入:[http://www.shanbay.com/api/learning/add/test](http://www.shanbay.com/api/learning/add/test) 我们得到的结果如下:
![](https://box.kancloud.cn/2016-01-15_5698c1c7ce7de.jpg)
上图说明这个单词已经被我们保存了,并且给予了它一个编号。因此,当我们再查询该单词的时候,即在浏览器中输入:[http://www.shanbay.com/api/word/test](http://www.shanbay.com/api/word/test) 会发现id不再是0,而是与上面的编号相同:
![](https://box.kancloud.cn/2016-01-15_5698c1c7dd86b.jpg)
到目前为止,上述的操作都不涉及到编程,都是直接在浏览器中进行的操作。然而,我们想要在词典中实现该功能,则就**不得不面对两个问题:1、编程实现用户的登录及调用api;2、解析调用api后返回的json格式的数据。**
**上述的两个问题都会在后续的系列文章中予以解决,敬请关注。**
- 前言
- <一>--词典框架设计及成品展示
- <二>--本地词典的设计
- <三>--开始菜单的设计
- <四>--无边框窗口的缩放与拖动
- <五>--无边框窗口的拖动
- <六>--界面美化设计
- <七>--调用网络API
- <八>--用户登录及API调用的实现
- <九>--JSON数据解析
- <十>--国际音标的显示
- <十一>系统托盘的显示
- <十二>调用讲述人
- <十三>音频播放
- <十四>自动补全功能
- <十五>html特殊字符及正则表达式
- 后序