Java基础(极客)——24、Java中的HTTP通信(补充)
2015-05-26 17:28
483 查看
package com.zhh.http;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* 1、使用 Http 的 Get 方式读取网络数据
* 与网络通信是耗时操作,所以必须开子线程
* 把数据拼接在路劲后面
*
*/
public class HttpurlConnectionTestGet {
public static void main(String[] args) {
method1();
}
static void method1() {
new Thread(new Runnable() {
@Override
public void run() {
try {
String path = "http://fanyi.youdao.com/openapi.do?keyfrom=25-welcome-to-my&key=1149810185&type=data&doctype=json&version=1.1&q=welcome";
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream is = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
BufferedReader bis = new BufferedReader(isr);
String line;
StringBuilder builder = new StringBuilder();
while ((line = bis.readLine()) != null) {
builder.append(line);
}
System.out.println(builder.toString());
//关闭流
bis.close();
isr.close();
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
package com.zhh.http;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* 2、使用 Http 的 Post 方式与网络交互通信
* 与网络通信是耗时操作,所以必须开子线程
*
*
*/
public class HttpurlConnectionTestPost {
public static void main(String[] args) {
method1();
}
static void method1() {
new Thread(new Runnable() {
@Override
public void run() {
try {
//开线程,做耗时操作,访问数据
String path = "http://fanyi.youdao.com/openapi.do";
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setConnectTimeout(3000);
connection.addRequestProperty("encoding", "UTF-8");
//线写数据,把数据写到http协议体中
OutputStream os = connection.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter writer = new BufferedWriter(osw);
writer
.write("keyfrom=25-welcome-to-my&key=1149810185&type=data&doctype=json&version=1.1&q=welcome");
writer.flush();//强制输出
//从网上获取数据
InputStream is = connection.getInputStream();
InputStreamReader sir = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(sir);
String line;
StringBuffer buffer = new StringBuffer();
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
System.out.println(buffer.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
package com.zhh.http;
/**
* 3、使用HttpClient进行Get方式通信
* 这是apache写的一个类没有找到架包,所以没写源码可以看视频
*
*/
public class HttpClientget {
}
package com.zhh.http;
/**
*4、使用 HttpClient 进行 Post 方式通信
*这是apache写的一个类没有找到架包,所以没写源码可以看视频
*/
public class HttpClientPost {
}
源码下载:
http://download.csdn.net/detail/zhaihaohao1/8741715
视频下载:
http://c38.yunpan.360.cn/my/index/#%2F%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91%2Fjava%2F
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* 1、使用 Http 的 Get 方式读取网络数据
* 与网络通信是耗时操作,所以必须开子线程
* 把数据拼接在路劲后面
*
*/
public class HttpurlConnectionTestGet {
public static void main(String[] args) {
method1();
}
static void method1() {
new Thread(new Runnable() {
@Override
public void run() {
try {
String path = "http://fanyi.youdao.com/openapi.do?keyfrom=25-welcome-to-my&key=1149810185&type=data&doctype=json&version=1.1&q=welcome";
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream is = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
BufferedReader bis = new BufferedReader(isr);
String line;
StringBuilder builder = new StringBuilder();
while ((line = bis.readLine()) != null) {
builder.append(line);
}
System.out.println(builder.toString());
//关闭流
bis.close();
isr.close();
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
package com.zhh.http;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* 2、使用 Http 的 Post 方式与网络交互通信
* 与网络通信是耗时操作,所以必须开子线程
*
*
*/
public class HttpurlConnectionTestPost {
public static void main(String[] args) {
method1();
}
static void method1() {
new Thread(new Runnable() {
@Override
public void run() {
try {
//开线程,做耗时操作,访问数据
String path = "http://fanyi.youdao.com/openapi.do";
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setConnectTimeout(3000);
connection.addRequestProperty("encoding", "UTF-8");
//线写数据,把数据写到http协议体中
OutputStream os = connection.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter writer = new BufferedWriter(osw);
writer
.write("keyfrom=25-welcome-to-my&key=1149810185&type=data&doctype=json&version=1.1&q=welcome");
writer.flush();//强制输出
//从网上获取数据
InputStream is = connection.getInputStream();
InputStreamReader sir = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(sir);
String line;
StringBuffer buffer = new StringBuffer();
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
System.out.println(buffer.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
package com.zhh.http;
/**
* 3、使用HttpClient进行Get方式通信
* 这是apache写的一个类没有找到架包,所以没写源码可以看视频
*
*/
public class HttpClientget {
}
package com.zhh.http;
/**
*4、使用 HttpClient 进行 Post 方式通信
*这是apache写的一个类没有找到架包,所以没写源码可以看视频
*/
public class HttpClientPost {
}
源码下载:
http://download.csdn.net/detail/zhaihaohao1/8741715
视频下载:
http://c38.yunpan.360.cn/my/index/#%2F%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91%2Fjava%2F
相关文章推荐
- flex基础篇一,基于httpservice通信+java后台的项目创建
- Java基础(极客)——23、Java中的IO操作(补充)
- Java基础知识强化之网络编程笔记24:Android网络通信之 AndroidAsync(基于nio的异步通信库)
- Java基础(极客)——21、Java多线程编程(补充)
- Java基础知识强化之网络编程笔记16:Android网络通信之 使用Http的Get方式读取网络数据(基于HTTP通信技术)
- Java基础(极客)——19、Java面向对象之泛型(补充)
- Java基础知识强化之网络编程笔记17:Android网络通信之 使用Http的Post方式读取网络数据(基于HTTP通信技术)
- Java基础知识强化之网络编程笔记18:Android网络通信之 使用HttpClient的Post / Get 方式读取网络数据(基于HTTP通信技术)
- Java基础(极客)——22、Java中的JSON操作(补充)
- Java基础(极客)——18、Java数组(补充)
- Java_socket通信基础补充
- Java基础(极客)——20、Java集合类详解(补充)
- Java基础(极客)——25、Java集合类详解(补充)
- 利用java的HttpURLConnection和Servlet通信,Post方式
- java33.HTTP通信------使用Http的Post方式与网络交互通信
- Java基础—网络编程【OSI/RM TCP/IP】【网络通信三要素】【UDP传输 & TCP传输】【DNS域名解析】
- Java学习之Hessian通信基础
- 黑马程序员_Java基础_线程间通信,生产者消费者案例,jdk1.5锁机制,守护线程
- JAVA-Socket通信基础
- java语言基础(24)——构造方法