Java中网络相关API的应用——InetAddress&URL
2017-02-21 09:26
393 查看
一、InetAddress类
标识网络上的硬件资源
package com.homework; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Arrays; //获取InetAddress类 public class TestInetAddress { public static void main(String[] args) throws UnknownHostException { //获取本机的InetAddress实例 //InetAddress address=new InetAddress(); InetAddress类无法通过new来创建对象 InetAddress address=InetAddress.getLocalHost(); System.out.println(address);//获取本机的计算机名和IP地址 System.out.println("计算机名: "+address.getHostName()); System.out.println("IP地址: "+address.getHostAddress()); byte[] bytes=address.getAddress(); System.out.println("字节形式的IP: "+bytes); System.out.println("字节数组形式的IP: "+Arrays.toString(bytes)); //根据机器名获取InetAddress实例 //InetAddress address2=InetAddress.getByName("MS-20150617TVTE"); InetAddress address2=InetAddress.getByName("192.168.0.176"); System.out.println("计算机名: "+address2.getHostName()); System.out.println("IP地址: "+address2.getHostAddress()); } }
结果
MS-20150717TVTE/192.168.0.176 计算机名: MS-20150617TVTE IP地址: 192.168.0.176 字节形式的IP: [B@7852e922 字节数组形式的IP: [-64, -88, 0, -83] 计算机名: MS-20150617TVTE IP地址: 192.168.0.176
二、URL(Uniform Resource Locator) :统一资源定位符
参数:
protocol- 要使用的协议名称
host- 主机名称
port- 主机端口号
file- 主机上的文件
ref- URL 中的内部引用
package com.homework; import java.net.MalformedURLException; import java.net.URL; public class TestURL_01 { public static void main(String[] args) { try { //创建一个URL实例 URL blogGarden=new URL("https://home.cnblogs.com"); //根据已存在的url实例创建新的实例 //?后面表示参数,#后面表示锚点 URL url=new URL(blogGarden,"/index.html?username=tom#test"); System.out.println("协议: "+url.getProtocol()); System.out.println("主机: "+url.getHost()); //如果未指定端口号,则使用默认的端口号,此时getPort()方法返回值为-1 System.out.println("端口: "+url.getPort()); System.out.println("文件路径: "+url.getPath()); System.out.println("文件名: "+url.getFile()); System.out.println("相对路径: "+url.getRef()); System.out.println("查询字符串: "+url.getQuery()); } catch (MalformedURLException e) { e.printStackTrace(); } } }
结果:
协议: https 主机: home.cnblogs.com 端口: -1 文件路径: /index.html 文件名: /index.html?username=tom 相对路径: test 查询字符串: username=tom
三、通过URL读取网页上的内容
package com.homework; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; //通过URL读取网页上的内容 public class TestURL_02 { public static void main(String[] args) { try { //创建一个url实例 URL url=new URL("http://www.baidu.com"); //通过URL的openStream方法获取URL对象所表示的资源的字节输入流 InputStream is=url.openStream(); //将其转换为字符输入流 InputStreamReader isr=new InputStreamReader(is,"utf-8"); //为字符流添加缓冲 BufferedReader br=new BufferedReader(isr); String data=br.readLine();//读取数据 while(data!=null){//循环读取数据 System.out.println(data); //输出数据 data=br.readLine(); } br.close(); isr.close(); is.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
结果:百度页面的编码
<!DOCTYPE html> <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge> <meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css> <title>百度一下,你就知道</title></head> <body········································· ·····················</body>
相关文章推荐
- Java 中网络相关 API:InetAddress、URL 的应用
- Java中的网络支持InetAddress&URL
- 19. JAVA 网络编程 Part 1 (IP与InetAddress类、URL与URLConnection类、URLEncoder与URLDecoder类、TCP&UDP)---- 学习笔记
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api
- 网络编程_InetAddress_InetSocketAddress_URL_爬虫原理JAVA185-186
- Java笔记(9)-网络编程、URL、InetAddress、套接字、Socket、ServerSocket、多线程、UDP、广播数据包、远程调用
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简单介绍
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api
- 基于TCP/UDP的Socket网络通信系列之Java中的InetAddress的应用(二)
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介
- java:网络编程(InetAddress,InetSocketAddress,URL,TCP(Socket与SeverSocket),TCP与UDP的区别)
- Java中网络相关API的应用
- Android 网络编程 API笔记 - java.net 包相关 接口 api
- Java学习之网络编程--InetAddress,InetSocketAddress
- java 网络编程 -- IP地址的表示与网络接口信息的获取(InetAddress和NetworkInterface)
- paip.uapi 获取网络url内容html 的方法java php ahk c++ python总结.
- java网络编程(2)InetAddress 类及udp协议
- java网络编程: InetAddress类之创建新的InetAddress对象
- Java网络编程之InetAddress