您的位置:首页 > 理论基础 > 计算机网络

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐