使用Httpclient向百度翻译提交POST请求 接受返回的JSON字符串 实现翻译功能(1)----程序实现原理

上个星期在公司接到了一个任务,任务文档是这样描述的:使用java语言,读取文件中的字符串,从后台向百度翻译、有道翻译、金山翻译、本公司自己的翻译系统、必应翻译分别提交请求,接收返回的JSON字符串并解析,并在解析后的JSON字符串中取出翻译结果,并将翻译结果写入另一个文件中,下面是我任务完成后的总结:

我打算划分为几篇不同的文章,分别对其中涉及到的一些知识点为大家做一下全面细致的讲解,因为任务较多,我们以百度翻译为例,并且我们只实现中文->英文的翻译,具体其他语言之间的互译博主会在以后的日子里更新出来,程序实现后,可以实现每秒10句的翻译效率,喜欢的朋友们可以加关注,互相交流学习抓狂

在开始之前,我先为大家科普一些小知识,首先我们打开自己的浏览器(带有审查元素功能,本人比较喜欢使用谷歌浏览器),然后打开百度翻译,右键->审查元素(检查),就会看到一个类似这样的界面:


然后点击右侧的Network,接着在左面的翻译输入框中随便输入一句中文,把翻译语言选择为中文->英语,点击翻译,你就会得到如下的界面:

可以注意到,右侧会出现很多包,我们点击其中的v2transapi,就会看到如下情况:

然后我们打开一个新的标签页,把v2transapi中的Request URL的内容复制出来,在新标签页的网址中输入Request URL的内容,也就是http://fanyi.baidu.com/v2transapi,后面输入"?" + 下面所选中的内容:

也就是输入:http://fanyi.baidu.com/v2transapi?from=zh&to=en&query=%E4%BD%A0%E5%A5%BD&transtype=translang&simple_means_flag=3,然后轻轻点击Enter,你是不是就会得到如下的界面呢?


可能到这里有些小伙伴就想问了,返回这么长的一个不知道是什么的东西,到底哪一个才是真正的结果呢?不用担心,让我们接着看,我们在百度搜索JSON在线解析:

我们就可以找到一大堆的JSON在线解析工具,本人比较喜欢使用第二个,点击进入之后,将我们刚才得到的那么那么长的一个结果粘贴进去,在右侧就会得到一个解析过后的结果啦!

这下子我们在看一下右侧的结果,是不是我们想要的结果就一目了然了呢?

写到这里,小伙伴们应该已经猜到了,没错!我们就是要使用java来实现向百度翻译api提交一个像http://fanyi.baidu.com/v2transapi?from=zh&to=en&query=%E4%BD%A0%E5%A5%BD&transtype=translang&simple_means_flag=3这样的请求并且接收返回的JSON字符串,使用java将JSON字符串解析之后,将结果取出来,在写入另一个文件中就可以啦!

以上就是该程序实现的大体原理,小伙伴们是否已经理解了呢?如果还有什么不理解的地方,欢迎各位评论交流,具体的内容以及知识点讲解会在稍后的博客中更新出来。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章