实现这个功能,需要先去百度翻译开放平台注册成开发者,我注册的是个人版
官网:https://fanyi-api.baidu.com/

注册流程我就不说了,说一个重点,其中有一步有一个ip地址的输入框,如果是自己用的话就不要填,不然翻译不出来,如果是上线的项目,就填项目的ip地址
注册完之后查看自己的APPID和秘钥,这个是要在代码中使用的

然后下图显示了官方给出的demo

为了方便,我直接把代码贴出来,大家就不用去下载了
TransApi.java
public class TransApi {
private static final String TRANS_API_HOST = "http://api.fanyi.baidu.com/api/trans/vip/translate";
private String appid;
private String securityKey;
public TransApi(String appid, String securityKey) {
this.appid = appid;
this.securityKey = securityKey;
}
public String getTransResult(String query, String from, String to) {
Map<String, String> params = buildParams(query, from, to);
return HttpGet.get(TRANS_API_HOST, params);
}
private Map<String, String> buildParams(String query, String from, String to) {
Map<String, String> params = new HashMap<String, String>();
params.put("q", query);
params.put("from", from);
params.put("to", to);
params.put("appid", appid);
// 随机数
String salt = String.valueOf(System.currentTimeMillis());
params.put("salt", salt);
// 签名
String src = appid + query + salt + securityKey; // 加密前的原文
params.put("sign", MD5.md5(src));
return params;
}
}
HttpGet.java
class HttpGet {
protected static final int SOCKET_TIMEOUT = 10000; // 10S
protected static final String GET = "GET";
public static String get(String host, Map<String, String> params) {
try {
// 设置SSLContext
SSLContext sslcontext = SSLContext.getInstance("TLS");
sslcontext.init(null, new TrustManager[] {
myX509TrustManager }, null);
String sendUrl = getUrlWithQueryString(host, params)

最低0.47元/天 解锁文章
1915

被折叠的 条评论
为什么被折叠?



