阅读网页流 : Web服务器客户端 « 网络协议 « Java

En
Java
1. 图形用户界面
2. 三维图形动画
3. 高级图形
4. 蚂蚁编译
5. Apache类库
6. 统计图
7. 
8. 集合数据结构
9. 数据类型
10. 数据库JDBC
11. 设计模式
12. 开发相关类
13. EJB3
14. 电子邮件
15. 事件
16. 文件输入输出
17. 游戏
18. 泛型
19. GWT
20. Hibernate
21. 本地化
22. J2EE平台
23. 基于J2ME
24. JDK-6
25. JNDI的LDAP
26. JPA
27. JSP技术
28. JSTL
29. 语言基础知识
30. 网络协议
31. PDF格式RTF格式
32. 映射
33. 常规表达式
34. 脚本
35. 安全
36. Servlets
37. Spring
38. Swing组件
39. 图形用户界面
40. SWT-JFace-Eclipse
41. 线程
42. 应用程序
43. Velocity
44. Web服务SOA
45. 可扩展标记语言
Java 教程
Java » 网络协议 » Web服务器客户端屏幕截图 
阅读网页流
阅读网页流


import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

public class GetWebPage {
  public static void main(String args[]) throws IOException,
      UnknownHostException {
    String resource, host, file;
    int slashPos;

    resource = "http://www.java2java.com/index.htm".substring(7)// skip HTTP://
    slashPos = resource.indexOf('/')
    if (slashPos < 0) {
      resource = resource + "/";
      slashPos = resource.indexOf('/');
    }
    file = resource.substring(slashPos)// isolate host and file parts
    host = resource.substring(0, slashPos);
    System.out.println("Host to contact: '" + host + "'");
    System.out.println("File to fetch : '" + file + "'");
    MyHTTPConnection webConnection = new MyHTTPConnection(host);
    if (webConnection != null) {
      BufferedReader in = webConnection.get(file);
      String line;
      while ((line = in.readLine()) != null) { // read until EOF
        System.out.println(line);
      }
    }
    System.out.println("\nDone.");
  }

  static class MyHTTPConnection {
    public final static int HTTP_PORT = 80;

    InetAddress wwwHost;

    DataInputStream dataInputStream;

    PrintStream outputStream;

    public MyHTTPConnection(String hostthrows UnknownHostException {
      wwwHost = InetAddress.getByName(host);
      System.out.println("WWW host = " + wwwHost);
    }

    public BufferedReader get(String filethrows IOException {
      Socket httpPipe;
      InputStream in;
      OutputStream out;
      BufferedReader bufReader;
      PrintWriter printWinter;
      httpPipe = new Socket(wwwHost, HTTP_PORT);
      if (httpPipe == null) {
        return null;
      }
      // get raw streams
      in = httpPipe.getInputStream();
      out = httpPipe.getOutputStream();
      // turn into useful ones
      bufReader = new BufferedReader(new InputStreamReader(in));
      printWinter = new PrintWriter(new OutputStreamWriter(out)true);
      if (in == null || out == null || bufReader == null || printWinter == null) {
        System.out.println("Failed to open streams to socket.");
        return null;
      }
      // send GET request
      System.out.println("GET " + file + " HTTP/1.0\n");
      printWinter.println("GET " + file + " HTTP/1.0\n");
      // read response until blank separator line
      String response;
      while ((response = bufReader.readLine()).length() 0) {
        System.out.println(response);
      }
      return bufReader; 
    }
  }
}


           
       
Related examples in the same category
1. 基于新IO的Java TTP / HTTPS服务器
2. 连接Web服务器连接Web服务器
3. 读网址保护HTTP认证
4. 阅读的网页,与套接字频道阅读的网页,与套接字频道
5. 阅读网页非阻塞频道阅读网页非阻塞频道
6. 一个简单的Web服务器一个简单的Web服务器
7. HTML职位
8. 线程Unsynch
9. Web服务器
10. 从网页保存的二进制文件
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.