使用Get进行Http通信
来源:互联网 发布:公共网络摄像头直播 编辑:程序博客网 时间:2024/06/05 11:41
--------------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 staticvoid main(String[] args) {
//调用线程 ReadByGet,使用匿名对象
new ReadByGet().start();
}
//创建一个新的线程,这是一个内部的类,继承自 Thread
//因为要在主方法(静态)中调用,所以要声明成静态
//不加 static 也可以,需要把 ReadByGet移出 TestGet,不过这时就不是内部类了
static class ReadByGetextends Thread{
//覆盖父类的run()方法
@Override
publicvoid 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通信
- java34.HTTP通信------使用HttpClient进行Get方式通信
- 使用HttpClient进行Get通信
- Android中基于HTTP的通信技术(3)使用HttpClient进行Get方式通信
- java网络通信(一)使用http的get方法进行网络通信
- 使用java进行http通信
- 使用java进行http通信
- 使用Post进行Http通信
- 使用curl库进行http通信
- 使用curl库进行http通信
- HTTP通信GET方式
- java35.HTTP通信------使用HttpClient进行Post方式通信
- Android网络编程之使用HttpClient进行Get方式通信
- Android程序:使用HttpClient进行Get方式通信
- HttpClient-----3、使用HttpClient进行GET方式通信
- Android中使用Json和Xml与服务器进行通信,使用代码发送Get和Post请求,http请求辅助类
- post 与get 区别,为什么现在的HTTP通信中大多数请求还是使用get?
- 浅析J2ME终端使用http协议进行网络通信
- 【转】python--Python中生成唯一ID的库——UUID
- 应用性能分析的步骤及常用方法及Systrace使用
- 三年Java软件工程师应该掌握的技能
- 【深度学习】计算机视觉与深度学习架构
- 尝遍裸辞各种苦,再也不敢任性裸辞了!
- 使用Get进行Http通信
- tomcat源码浅析(一)之 架构
- Android EventBus , RxBus
- python判断完全平方数
- 逐浪软件官网全新改版上线 https://www.z01.com/
- IOS Intro
- JAVA WEB之jsp内置对象
- TensorBoard使用
- ORA-24323: value not allowed ORA-01089