------- <a href="http://www.itheima.com" target="blank">android培训</a>
<pre name="code" class="html" style="font-size: 13.3333339691162px;">自定义一个类似于IE浏览器的程序,在输入框中输入目标网址可以通过开启Apache来获取
源代码。代码如下:
import java.io.*;
import java.awt.*;
import java.net.*;
import java.awt.event.*;
class IE
{
private Frame frame;
private Button bu;
private TextArea ta;
private TextField tf;
IE(){
init();
}
public void init(){
frame = new Frame("自定义浏览器");
bu = new Button("转到");
ta = new TextArea(20, 44);
tf = new TextField(35);
frame.add(tf);
frame.add(bu);
frame.add(ta);
frame.setBounds(250, 200, 400, 500);
frame.setLayout(new FlowLayout());
frame.setVisible(true);
event();
}
public void event(){
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
tf.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
if(e.getKeyCode() == KeyEvent.VK_ENTER){
ta.setText("");
tf.setText("");
String str = tf.getText();
//http://172.28.132.203:80/java_net/demo1.html
String str1 = str.substring(str.indexOf("//") + 2);
//172.28.132.203:80/java_net/demo1.html
String str2 = str1.substring(0, str1.indexOf('/'));
String ch[] = str2.split(":");
String ip = ch[0];
String port = ch[1];
String dir = str1.substring(str1.indexOf('/'));
ta.append("ip = " + ip + "\r\n");
ta.append("port = " + port + "\r\n");
ta.append("dir = " + dir + "\r\n");
try{
Socket s = new Socket(ip, Integer.parseInt(port));
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
//以GET方式 访问目录文件 http协议版本
pw.println("GET "+dir+" HTTP/1.1");
//可以接收的类型为 任意类型
pw.println("Accept: */*");
//接收的语言
pw.println("Accept-Language: zh-CN");
//服务器的 IP 和 端口
pw.println("Host: "+ip+":"+port);
//连接信息发送完以后就断开
pw.println("Connection: Closed");
//隔开头部和数据的头部
pw.println();
InputStream is = s.getInputStream();
byte b[] = new byte[1024];
int len = 0;
while((len = is.read(b)) != -1){
ta.append(new String(b, 0, len));
}
}catch(Exception ex){
throw new RuntimeException("获取错误");
}
}
}
});
bu.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
ta.setText("");
tf.setText("");
String str = tf.getText();
URL url = new URL(str);
URLConnection urlCon = url.openConnection();
InputStream is = urlCon.getInputStream();
byte[] b = new byte[1024];
int len = 0;
while((len = is.read(b)) != -1){
ta.append(new String(b, 0, len));
}
}catch(Exception ex){
throw new RuntimeException("获取错误");
}
}
});
}
public static void main(String []args){
new IE();
}
<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------