C++中使用Curl和JsonCpp调用有道翻译API实现在线翻译

您所在的位置:网站首页 调用英文 C++中使用Curl和JsonCpp调用有道翻译API实现在线翻译

C++中使用Curl和JsonCpp调用有道翻译API实现在线翻译

2024-07-14 11:04| 来源: 网络整理| 查看: 265

使用C++开发一个在线翻译工具,这个想法在我大脑中过了好几遍了,所以就搜了下资料,得知网络上有很多翻译API,这里我选择我平时使用较多的有道翻译API进行在线翻译工具开发的练习。翻译API返回的结果常见的有两种:xml和json格式,本文选择使用json数据来实现Berlin版本的在线翻译工具。

使用C++开发一个在线翻译工具,这个想法在我大脑中过了好几遍了,所以就搜了下资料,得知网络上有很多翻译API,这里我选择我平时使用较多的有道翻译API进行在线翻译工具开发的练习。翻译API返回的结果常见的有两种:xml和json格式,本文选择使用json数据来实现Berlin版本的在线翻译工具。

开发环境:Ubuntu12.04 + GCC4.7

一、 有道翻译API

API 地址:http://fanyi.youdao.com/openapi

这里我选择了数据调用接口key的申请,填入相关信息,然后系统会提供API Key和Keyfrom字段给你,同时会发送一份包含这2项的邮件到你所填写的邮箱。

有道翻译API的数据接口如下:

http://fanyi.youdao.com/openapi.do?keyfrom=&key=&type=data&doctype=&version=1.1&q=要翻译的文本

版本:1.1,请求方式:get,编码方式:utf-8

主要功能:中英互译,同时获得有道翻译结果和有道词典结果(可能没有)

参数说明:

 type - 返回结果的类型,固定为data

 doctype - 返回结果的数据格式,xml或json或jsonp

 version - 版本,当前最新版本为1.1

 q - 要翻译的文本,不能超过200个字符,需要使用utf-8编码

errorCode:

 0 - 正常

 20 - 要翻译的文本过长

 30 - 无法进行有效的翻译

 40 - 不支持的语言类型

 50 - 无效的key

二、 Curl和JsonCpp的安装

2.1 Curl的安装

Curl工程主页:http://curl.haxx.se/, 目前最新版本是curl-7.34.0,下载解压后进入curl-7.34.0目录,用如下命令安装:

1 cd $CURL_HOME 2 mkdir build 3 cd build 4 cmake .. 5 make

2.2 JsonCpp的安装

JsonCpp工程主页:http://jsoncpp.sourceforge.net/,目前的最新版本是jsoncpp-src-0.5.0,下载解压后进入jsoncpp-src-0.5.0,使用Scons进行安装,Scons是一个Python编译系统,没有安装的童鞋需要先安装Scons,如下:

1 sudo apt-get install scons

Scons安装好之后就可以编译JsonCpp了,使用如下命令:

1 scons platform=linux-gcc

好了,JsonCpp已经成功安装了,为了后面程序编译链接过程中方便,我在JsonCpp路径下的libs文件夹中设置了一个软连接,如下:

1 ln -s libjson_linux-gcc-4.7_libmt.a libjson_linux-gcc.a

三、 在线翻译工具

直接贴代码:

1 /* 2 Filename: translate.cc 3 Author: BerlinSun 4 */ 5 #include 6 #include "curl/curl.h" 7 #include "json/json.h" 8 9 using namespace std; 10 11 void usage() 12 { 13 cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3