如何调用有道翻译API(Java,HTTP)

简介:

申请Key

首先如图进入有道翻译,在下方点击“有道翻译API”。

这里写图片描述

紧接着来调用数据接口,按提示完成下列输入框。

这里写图片描述

如下图所示,已经申请成功了。

这里写图片描述

下图是官方给的示例,可以有xml和json、jsonp等三种数据格式。

这里写图片描述

代码(Java)

public class TestPost {

    public static void main(String[] args) {
        new ReadByPost().start();
    }

}

class ReadByPost extends Thread{
    @Override
    public void run() { 
        try {


            URL url = new URL("http://fanyi.youdao.com/openapi.do");
            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
            connection.addRequestProperty("encoding", "UTF-8");
            connection.setDoInput(true);
            connection.setDoOutput(true);

            connection.setRequestMethod("POST");

            OutputStream os = connection.getOutputStream();
            OutputStreamWriter osw = new OutputStreamWriter(os);
            BufferedWriter bw = new BufferedWriter(osw);


            bw.write("keyfrom=fadabvaa&key=522071532&type=data&doctype=json&version=1.1&q=Microsoft");
            bw.flush();

            InputStream is = connection.getInputStream();
            InputStreamReader isr = new InputStreamReader(is,"UTF-8");
            BufferedReader br = new BufferedReader(isr);

            String line;
            StringBuilder builder = new StringBuilder();
            while((line = br.readLine()) != null){
                builder.append(line);
            }

            bw.close();
            osw.close();
            os.close();

            br.close();
            isr.close();
            is.close();

            System.out.println(builder.toString());

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

输出如下:

{"translation":["微软"],"basic":{"us-phonetic":"'maikr?us?ft","phonetic":"'maikr?us?ft","uk-phonetic":"'maikr?us?ft","explains":["n. 微软公司(全球知名的PC软件主要厂商)"]},"query":"Microsoft","errorCode":0,"web":[{"value":["微软公司","微软","美国微软"],"key":"MicroSoft"},{"value":["办公软件","微软办公软件","微软办公"],"key":"Microsoft Office"},{"value":["微软小工具"],"key":"Microsoft Gadgets"}]}
目录
相关文章
|
16天前
|
安全 Java 大数据
|
14天前
|
设计模式 Java API
Java 可扩展 API 设计:打造灵活的应用架构
【4月更文挑战第27天】设计可扩展的 API 是构建灵活、易于维护的应用程序架构的关键。Java 提供了丰富的工具和技术来实现这一目标,使开发者能够构建具有高度可扩展性的应用程序。
36 4
|
1天前
|
Java API
【JAVA进阶篇教学】第三篇:JDK8中Stream API使用
【JAVA进阶篇教学】第三篇:JDK8中Stream API使用
|
2天前
|
网络协议 算法 Java
Java中如何通过代理实现对HTTP2网站的访问?
Java中如何通过代理实现对HTTP2网站的访问?
|
2天前
|
网络协议 Dubbo Java
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
8 0
|
2天前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
9 0
|
10天前
|
分布式计算 Java API
Java 8新特性之Lambda表达式与Stream API
【5月更文挑战第1天】本文将介绍Java 8中的两个重要特性:Lambda表达式和Stream API。Lambda表达式是一种新的函数式编程语法,可以简化代码并提高可读性。Stream API是一种用于处理集合的新工具,可以方便地进行数据操作和转换。通过结合Lambda表达式和Stream API,我们可以更加简洁高效地编写Java代码。
|
14天前
|
Java API 开发者
【专栏】Java 8的Stream API是处理集合数据的新方式,强调简洁和声明式编程
【4月更文挑战第27天】Java 8的Stream API是处理集合数据的新方式,强调简洁和声明式编程。它基于延迟执行和惰性求值,提供创建、中间操作(如filter、map)和终端操作(如forEach、collect)。示例展示了如何通过Stream排序、过滤、映射和聚合数据。
|
16天前
|
存储 SQL Java
Java8 Stream API 详解:流式编程进行数据处理
Java8 Stream API 详解:流式编程进行数据处理
|
17天前
|
前端开发 Java API
JavaSE&Java8 时间日期API + 使用心得
JavaSE&Java8 时间日期API + 使用心得
16 0