Java互联网编制程序

Java为了可移植性,不允许直接调用操作系统,而是由java.net包来提供网络成效。Java虚拟机肩负提供与操作系统的莫过于连接。

 InetAddress

作用:包裹总括机的IP地址和DNS(未有端口音信!)。

特点:其壹类未有构造函数。若是要博得目的,只好通过静态方法:getLocalHost、getByName、 getAllByName、 getAddress、getHostName。 

【示例1】使用getLocalHost方法创制InetAddress对象

InetAddress addr =   InetAddress.getLocalHost();

System.out.println(addr.getHostAddress());    //  返回:192.168.1.110

System.out.println(addr.getHostName());     //   输出总结机名

【示例2】依据域名获得InetAddress对象

InetAddress addr =   InetAddress.getByName(“www.163.com”);

// 再次来到 1陆三服务器的IP:陆一.13伍.二伍三.一五

System.out.println(addr.getHostAddress());  

//输出:www.163.com

System.out.println(addr.getHostName()); 

【示例3】根据IP得到InetAddress对象

InetAddress addr =   InetAddress.getByName(“61.135.253.15”);

//重临 16三服务器的IP:六一.135.2伍3.壹五

System.out.println(addr.getHostAddress());

/*输出ip而不是域名。如若那几个IP地 址不设有或DNS服务器分裂意开始展览IP地址和域名的照射,getHostName方法就径直回到那一个IP地址。*/

System.out.println(addr.getHostName());

InetSocketAddress

作用:包含IP和端口,常用于Socket通信。

【示例4】InetSocketAddress的使用

    InetSocketAddress socketAddress = new  
InetSocketAddress(“127.0.0.1”,8080);

    InetSocketAddress socketAddress2 = new  
InetSocketAddress(“localhost”,9000);

    System.out.println(socketAddress.getHostName());

    System.out.println(socketAddress2.getAddress());

URL类

IP地址唯1标识了Internet上的微型总计机,而U奥迪Q五L则标识了这几个电脑上的能源。类URL 代表1个联合营源定位符,它是指向网络“财富”的指针。财富得以是简简单单的文件或目录,也能够是对特别复杂的目的的引用,例如对数据库或探寻引擎的查询。

为了便于程序员编制程序,JDK中提供了UBMWX③L类,该类的全名是java.net.U揽胜极光L,有了那般三个类,就足以选取它的各个办法来对UPRADOL对象进行划分、合并等处理。

【示例伍】U揽胜极光L类的施用

URL u = new   URL(“http://www.google.cn:80/webhp\#aa?canhu=33“);

System.out.println(“获取与此url关联的情商的暗中同意端口:”+u.getDefaultPort());

System.out.println(“getFile:”+u.getFile());  //端口号后边的始末

System.out.println(“主机名:”+u.getHost());  //www.google.cn

System.out.println(“路径:”+u.getPath());  //端口号后,参数前的剧情

System.out.println(“端口:”+u.getPort());  //假若www.google.cn:80则赶回80.不然赶回-一

System.out.println(“协议:”+u.getProtocol());  

System.out.println(“参数部分:”+u.getQuery());

System.out.println(“锚点:”+u.getRef());  

//    
System.out.println(u.sameFile(u2));  //两个URL不同,则返回false.

//     URLConnection conn = u.openConnection();

//     InputStream is = u.openStream();

URL u1 = new   URL(“http://www.abc.com/aa/“);

URL u2 = new   URL(u,”2.html”);  //相对路径创设url对象

System.out.println(u2.toString());  //http://www.abc.com/aa/2.html

【示例6】最简易的网络爬虫

    void basicSpider() {

       URL url = null;

       InputStream is = null ;

       BufferedReader br=null;

       StringBuilder sb = new StringBuilder();

       String temp = “”;

       try {

           url = new URL(“http://www.baidu.com“);

           is = url.openStream();

           br = new BufferedReader(new   InputStreamReader(is));

           while((temp = br.readLine())!=null){

              sb.append(temp);    
//那样就足以将互联网内容下载到本地机械。然后举办多少解析,建立目录。那也是摸索引擎的第二步。

           }

           System.out.println(sb);

       } catch (MalformedURLException e) {

           e.printStackTrace();

       } catch (IOException e) {

           e.printStackTrace();

       }finally{

           try {

              br.close();

           } catch (IOException e) {

              e.printStackTrace();

           }

           try {

              is.close();

           } catch (IOException e) {

              e.printStackTrace();

           }

       }

    }


「全栈Java笔记」是壹部能帮大家从零到百分之十人为全栈Java工程师系列笔记。笔者江湖人队称
Mr.
G,十年Java研究开发经验,曾在神州数码、航天院某所研发主旨从事软件设计及研究开发工作,从小白逐步做到工程师、高工、架构师。掌握Java平台软件开发,领会JAVAEE,熟谙各个流行开发框架。

 笔记包蕴从浅入深的陆大学一年级些:

 A-Java入门阶段

 B-数据库从入门到精晓

 C-手刃移动前端和Web前端

 D-J二EE从精晓到实战

 E-Java高级框架精解

 F-Linux和Hadoop 

发表评论

电子邮件地址不会被公开。 必填项已用*标注