3.1 java http通信

package swing;

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 httptx {
public static void main(String[] args) {//主函数
new httpget().start();//开启这个线程
}
static class httpget extends Thread{
public void run() {//线程的run方法
try {
URL url=new URL(“https://www.csdn.net/”);//类 URL代表统一资源定位符,获取这个网站的地址
URLConnection connection=url.openConnection();//连接上这个网站
InputStream in=connection.getInputStream();//创建输入流,把网站内容读到流中
InputStreamReader ir=new InputStreamReader(in,“UTF-8”);//InputStreamReader作用是把字符转化为字符串,对象是缓存中的内容,编码规则采用utf-8
BufferedReader br=new BufferedReader(ir);//创建缓存流
String line;//定义一个字符串
StringBuilder builder=new StringBuilder();//利用字符串生成器创建一个字符串对象
while((line=br.readLine())!=null) {//如果读取的内容不为空,则执行下面的程序
builder.append(line+"\n");//把读取的内容添加到字符串中
}
br.close();//关闭流
ir.close();
in.close();
System.out.println(builder);//输出字符串的内容
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

在这里插入图片描述
点击运行后可以得到优酷主页www.youku.com网页的源代码,但是我们需要将控制台显示行数调到最高,在Myeclipse中点击Windows→Preferences→Run/Debug→Console→Console buffer size设置为1000000才能显示该代码

public class posttx {
public static void main(String[] args) {//主函数
new pp().start();//启动线程
}
static class pp extends Thread{
public void run() {//实现run方法
try {
URL url=new URL(“http://fanyi.youdao.com/openapi.do”);//获取网络地址
URLConnection connection =url.openConnection();//连接上网络地址
connection.addRequestProperty(“encoding”, “utf-8”);//添加一个由一个键值对指定的通用请求属性
connection.setDoInput(true);//允许从服务器上获取数据
connection.setDoOutput(true);//允许从服务器上传输数据
((HttpURLConnection) connection).setRequestMethod(“POST”);//设置请求模式
OutputStream out=connection.getOutputStream();//创建输出流
OutputStreamWriter opw=new OutputStreamWriter(out);//把字符转化为字节
BufferedWriter bw=new BufferedWriter(opw);//创建缓冲
bw.write(“keyfrom=&key=&type=data&doctype=&version=1.1&q=welcome”);//写入的内容
bw.flush();//刷新
InputStream in=connection.getInputStream();//创建输入流
InputStreamReader id=new InputStreamReader(in);//把字节转化为字符
BufferedReader bf=new BufferedReader(id);//创建缓冲
String line ;//定义字符串
StringBuilder builder=new StringBuilder();//生成一个字符串对象
while((line =bf.readLine())!=null) {//如果读到的值不为空
builder.append(line);//把读到的值添加到字符串中
}
bw.close();opw.close();out.close();//关闭流
bf.close();id.close();in.close();
System.out.println(builder.toString());//输出字符串
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

package swing;

import java.io.BufferedReader;
import java.io.FileWriter;
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 httptx {
public static void main(String[] args) {//主函数
new httpget().start();//开启这个线程
}
static class httpget extends Thread{
public void run() {//线程的run方法
try {
URL url=new URL(“https://www.youku.com”);//类 URL代表统一资源定位符,获取这个网站的地址
URLConnection connection=url.openConnection();//连接上这个网站
InputStream in=connection.getInputStream();//创建输入流,把网站内容读到流中
InputStreamReader ir=new InputStreamReader(in,“UTF-8”);//InputStreamReader作用是把字符转化为字符串,对象是缓存中的内容,编码规则采用utf-8
BufferedReader br=new BufferedReader(ir);//创建缓存流

		String line;//定义一个字符串
		StringBuilder builder=new StringBuilder();//利用字符串生成器创建一个字符串对象
		while((line=br.readLine())!=null) {//如果读取的内容不为空,则执行下面的程序
			builder.append(line+"\n");//把读取的内容添加到字符串中
		}
		br.close();//关闭流
		ir.close();
		in.close();
		System.out.println(builder);//输出字符串的内容
		
		
		FileWriter fw=new FileWriter("word.txt");
		fw.write(builder.toString());
		
		
	} catch (MalformedURLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}


}

}
}

在这里插入图片描述
利用文件输出流把字符串的内容写道文件中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值