龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

通过Java.net.Socket 类抓取网页内容

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
/** 文件名 : FirstSocket.Java 描述 :通过 java.net.Socket 类访问一个Web页面,并且返回结果 作者: 慈勤强 cQQ1978@yeah.net 参考:http://java.sun.com **/ import java.io.*; import java.net.*; public class FirstSocke

  /**
  
  文件名 : FirstSocket.Java
  
  描述 :通过 java.net.Socket 类访问一个Web页面,并且返回结果
  
  作者: 慈勤强 cQQ1978@yeah.net
  
  参考:http://java.sun.com
  
  **/
  
  import java.io.*;
  
  import java.net.*;
  
  public class FirstSocket
  
  {
  
  public static void main(String args[])
  
  {
  
  //判定参数是否为两个,正确的用法为 FirstSocket 网站 页面
  
  if(args.length!=2)
  
  {
  
  System.out.println("Usage : FirstSocket host page Example:FirstSocket www.Google.com /");
  
  System.exit(0);
  
  }
  
  String strServer=args[0]; //取得第一个参数
  
  String strPage = args[1]; //取得第二个参数
  
  try
  
  {
  
  String hostname = strServer;
  
  int port = 80;
  
  InetAddress addr = InetAddress.getByName(hostname);
  
  Socket socket = new Socket(addr, port); //建立一个Socket
  
  //发送命令
  
  BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
  
  wr.write("GET " + strPage + " HTTP/1.0 ");
  
  wr.write("HOST:" + strServer + " ");
  
  wr.write(" ");
  
  wr.flush();
  
  //接收返回的结果
  
  BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  
  String line;
  
  while ((line = rd.readLine()) != null) {
  
  System.out.println(line);
  
  }
  
  wr.close();
  
  rd.close();
  
  }
  
  catch (Exception e)
  
  {
  
  System.out.println(e.toString());
  
  }
  
  }
  
  }
  
精彩图集

赞助商链接