A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lgl48128244 初级黑马   /  2014-7-5 19:04  /  892 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.jbit.net.id;
  2. /**
  3. * 爬虫原理
  4. */
  5. import java.io.BufferedReader;
  6. import java.io.BufferedWriter;
  7. import java.io.FileOutputStream;
  8. import java.io.InputStreamReader;
  9. import java.io.OutputStreamWriter;
  10. import java.net.URL;

  11. public class URLDemo01 {
  12.         public static void main(String[] args) throws Exception {
  13.                 //test1();
  14.                 test();
  15.         }

  16.         public static void test1() throws Exception {
  17.                 URL url = new URL("http://www.baidu.com");

  18.                 // 利用流读取网页
  19.                 BufferedReader br = new BufferedReader(new InputStreamReader(
  20.                                 url.openStream(), "utf-8"));
  21.                 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
  22.                                 new FileOutputStream("baidu.html"), "utf-8"));

  23.                 String msg = null;
  24.                 while (null != (msg = br.readLine())) {
  25.                         bw.write(msg);
  26.                         bw.newLine();
  27.                 }
  28.                 bw.flush();
  29.                 bw.close();
  30.                 br.close();
  31.         }

  32.         public static void test() throws Exception {
  33.                 // 绝对路径构建
  34.                 URL url = new URL("http://www.baidu.com:80/index.html#aa?username=jbit");
  35.                 System.out.println("协议:" + url.getProtocol());
  36.                 System.out.println("域名:" + url.getHost());
  37.                 System.out.println("资源:" + url.getFile());
  38.                 System.out.println("端口:" + url.getPort());
  39.                 System.out.println("相对路径:" + url.getPath());
  40.                 System.out.println("锚点:" + url.getRef());// 锚点
  41.                 System.out.println("参数:" + url.getQuery());// 如果存在锚点,返回null,不存在锚点返回参数。
  42.         }
  43. }
复制代码

/**
* 网络编程
* 概念:
* 一、网络:将不同区域的计算机连在一起,局域网,城域网,互联网。
* 二、地址:IP地址 确定网络上的一个绝对地址|位置-->房子的地址。
* 三、端口号:区分计算机软件的 |房子的房门2个字节   范围0-65535。
*          1、在同一个协议下,端口号不能重复,不同协议下可以重复。
*       2、1024以下的端口号不能使用。80-->http 21-->ftp
* 四、资源定位:URL:统一资源定位符。URI:统一资源。
* 五、数据传输
*    1、协议:TCP和UDP
*     1)、TCP 电话|类似于三次握手 面向连接  安全可靠 效率低下
*     2)、UDP 短信|非面向对象 安全较低 效率高
*    2、传输:
*     1)、先封装
*     2)、后拆封
*
*
* ==>类
* 1、InetAdress  InetSocketAdress
* 2、URL
* 3、TCP ServerSocket(服务器) Socket(客户端)
* 4、UDP DatagramSocket DatagramPacket
*
* @author 李国梁
*/

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马