--------------siwuxie095

有道翻译官网:http://fanyi.youdao.com/

找到官网页面下方的 有道翻译API,选择 调用数据接口,申请一个 key

(申请内容可随意填写)

申请成功:

自动生成一个对应的数据接口:http://fanyi.youdao.com/openapi.do?keyfrom=siwuxie095-test&key=2140200403&type=data&doctype=<doctype>&version=1.1&q=要翻译的文本

需要指定 <doctype> 和 要翻译的文本

关于 API 的说明:

工程名:TestHttpGet

包名:com.siwuxie095.http

类名:TestGet.java

工程结构目录如下:

代码:

package com.siwuxie095.http;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.MalformedURLException;

import java.net.URL;

import java.net.URLConnection;

public class TestGet {

public static void main(String[] args) {

//调用线程 ReadByGet,使用匿名对象

new ReadByGet().start();

}

//创建一个新的线程,这是一个内部的类,继承自 Thread

//因为要在主方法(静态)中调用,所以要声明成静态

//不加 static 也可以,需要把 ReadByGet 移出 TestGet,不过这时就不是内部类了

static class ReadByGet extends Thread{

//覆盖父类的run()方法

@Override

public void run() {

//创建一个URL对象,注意:是 java.net 包中的

//url 即网络路径,传入String

//(当在整个链接中使用回车时,链接自动断开,形成多个字符串)

//指定doctype类型为:XML,翻译:welcome

//(doctype 还可以指定为 json 或 jsonp)

//最终返回结果的数据格式是 XML 类型

//有异常抛出,用 try catch 捕获

try {

URL url=new URL("http://fanyi.youdao.com/openapi.do?"

+ "keyfrom=siwuxie095-test&key=2140200403&type=data"

+ "&doctype=xml&version=1.1&q=welcome");

//使用openConnection()方法打开链接

//返回值是URLConnection类型,创建以接收返回值

//同样是 java.net 包中的类

//有异常抛出,用 try catch 捕获

URLConnection connection=url.openConnection();

//获取网络连接输入流,返回值是InputStream类型

//创建一个InputStream,接收返回值

InputStream is=connection.getInputStream();

//创建一个InputStreamReader,包装InputStream

//如果读取的数据有乱码,在字节流包装成字符流时可以指定编码

InputStreamReader isr=new InputStreamReader(is,"UTF-8");

//InputStreamReader isr=new InputStreamReader(is);

//创建一个BufferedReader,包装InputStreamReader

BufferedReader br=new BufferedReader(isr);

//包装完成,将数据全部读取

String line;

StringBuilder builder=new StringBuilder();

//当读取的一行数据不为空,则当前内容没有结束,添加到StringBuilder中

while ((line=br.readLine())!=null) {

builder.append(line);

}

//读取完毕,关闭输入流,后打开的先关闭

br.close();

isr.close();

is.close();

//打印StringBuilder中的所有数据

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

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

运行一览:

将输出的 XML 数据,复制->粘贴->格式化:

【made by siwuxie095】

使用Get进行Http通信的更多相关文章

  1. 理解加密算法(三)——创建CA机构,签发证书并开始TLS通信

    接理解加密算法(一)--加密算法分类.理解加密算法(二)--TLS/SSL 1 不安全的TCP通信 普通的TCP通信数据是明文传输的,所以存在数据泄露和被篡改的风险,我们可以写一段测试代码试验一下. ...

  2. 笔记:Binder通信机制

    TODO: 待修正 Binder简介 Binder是android系统中实现的一种高效的IPC机制,平常接触到的各种XxxManager,以及绑定Service时都在使用它进行跨进程操作. 它的实现基 ...

  3. .NET 串口通信

    这段时间做了一个和硬件设备通信的小项目,涉及到扫描头.输送线.称重机.贴标机等硬件.和各设备之间通信使用的是串口或网络(Socket)的方式.扫描头和贴标机使用的网络通信,输送线和称重机使用的是串口通 ...

  4. MVVM模式解析和在WPF中的实现(五)View和ViewModel的通信

    MVVM模式解析和在WPF中的实现(五) View和ViewModel的通信 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 M ...

  5. 多线程的通信和同步(Java并发编程的艺术--笔记)

    1. 线程间的通信机制 线程之间通信机制有两种: 共享内存.消息传递.   2. Java并发 Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式执行,通信的过程对于程序员来说是完全透 ...

  6. 搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 (1)

    搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating ...

  7. 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.1

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...

  8. TCP通信

    //网络套接字编程实例,服务器端,TCP通信. #include <WinSock2.h> #pragma comment(lib,"ws2_32.lib") #inc ...

  9. JAVA通信系列一:Java Socket技术总结

    本文是学习java Socket整理的资料,供参考. 1       Socket通信原理 1.1     ISO七层模型 1.2     TCP/IP五层模型 应用层相当于OSI中的会话层,表示层, ...

  10. ucos实时操作系统学习笔记——任务间通信(消息)

    ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...

随机推荐

  1. nyoj 42 一笔画 欧拉通路

    http://acm.nyist.net/JudgeOnline/problem.php?pid=42 一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 zyc ...

  2. Linux centos 6.5 搭建 svn服务器

    实例:web1 1.安装subversion #yum install subversion #mkdir -p /oop/svn/ //创建svn目录 #chmod -R 777 /oop/svn ...

  3. Office 2007在安装过程中出错

    1, 可能是因为c:\program files\common files\microsoft Shared\web server Extensions\40\bin目录下缺少Fp4autl.dll, ...

  4. C#异步编程(二)用户模式线程同步

    基元线程同步构造 多个线程同时访问共享数据时,线程同步能防止数据损坏.不需要线程同步是最理想的情况,因为线程同步存在许多问题. 第一个问题就是它比较繁琐,而且很容易写错. 第二个问题是,他们会损害性能 ...

  5. h5废弃的标签和属性及新增的标签和属性

    一.废弃的标签和属性 1.表现性元素 a) basefont b) big c) center d) font e) strike f) tt 2.框架类元素 a) frame b) frameset ...

  6. SQL Sever 学习系列之三

    SQL Sever 学习系列之三 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题)         五.经理今天刚谈到with的用法(with的 ...

  7. bzoj 5092 [Lydsy1711月赛]分割序列——高维前缀和

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5092 套路地弄一个前缀异或和,就变成 f[ i ]=max_{j=0}^{i} { s[ j ...

  8. Centos下安装禅道

    1.下载禅道安装包:http://dl.cnezsoft.com/zentao/9.7/ZenTaoPMS.9.7.stable.zbox_64.tar.gz 2.将下载的压缩包解压到/opt目录下: ...

  9. shell脚本中常用命令

    1           Shell中的特殊符号 1.1           $  美元符号.用来表示变量的值.如变量NAME的值为Mike,则使用$NAME就可以得到“Mike”这个值. 1.2    ...

  10. vijos1906:联合权值

    描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离. ...