免费调用谷歌翻译

匿名 (未验证) 提交于 2019-12-03 00:22:01

最近公司有需求,需要调用谷歌翻译的接口。虽然我最后可以勉强实现了翻译的功能,但还是把这个方法记录下来供各位参考。

首先声明,我这种实现方法只能翻译少量的内容,如果同时翻译太多就会报异常。

1.找到谷歌翻译,通过f12查看谷歌翻译的时候调用的接口:https://translate.google.cn/translate_a/single?client=t&sl=auto&tl=en&hl=zhCN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF8&oe=UTF8&ssel=0&tsel=3&kc=0&tk=80338.476099&q=%E4%BB%96%E4%BB%AC%E8%BF%99%E6%A0%B7%E8%AF%B4

解析开来就是:client=t、sl=auto、tl=toLanguage、hl=fromLanguage、da=at、dt=bd、dt=ex、dt=ld、dt=gca、dt=rw、dt=rm、dt=ss、dt=t、ie=UTF8、oe=UTF8、ssel=0、tsel=3、kc=0、tk=(需要经过js文件的计算)、q=(需要翻译的文字)

这么多参数中只有tk参数最麻烦,需要使用经过js文件的计算得到,js文件我会在文章最后面分享。

2.使用jsoup模拟浏览器发送请求,接收到返回信息并解析返回信息,得到翻译的结果。


public static String TranslateGoogleString(String transalteContente,String fromLanguage,String toLanguage){ 		StringBuilder url=new StringBuilder(); 		url.append("https://translate.google.cn/translate_a/single?").append("client=t&sl=").append(fromLanguage) 		.append("&tl=").append(toLanguage).append("&hl=zh-CN").append("&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw") 		.append("&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&otf=2&ssel=0&tsel=0&kc=1&tk=").append(token(transalteContente)).append("&q=") 		.append(transalteContente); 		System.out.println(url); 		//获取请求连接         Connection con = Jsoup.connect(url.toString());         //请求头设置,特别是cookie设置(这些参数在f12都可以kanda)         con.header("Accept", "*/*");          con.header("Content-Type", "application/json; charset=UTF-8");         con.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36");          con.header("Cookie", "");         //解析请求结果         Document doc; 		try { 			doc = con.ignoreContentType(true).get(); 			String result = doc.body().text().split(",")[0].replace("[[[", "").replace("\"", ""); 			 			 //获取翻译后的内容 	        System.out.println(result); 	        //返回内容 	        return Base64.encodeBase64String(result.getBytes()); 		} catch (IOException e) { 			// TODO Auto-generated catch block 			e.printStackTrace(); 		}         return null; 	}
Google.js文件分享:链接:https://pan.baidu.com/s/13HCY0T3BvI9zwQNEzyq0Yw 密码:pow2



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!