java 开发中网络编程之IP、URL详解及实例代码

所属分类: 软件编程 / java 阅读数: 25
收藏 0 赞 0 分享

java 网络编程

java.net

类 InetAddress 此类表示互联网协议 (IP) 地址。 会抛出异常 UnknownHostException

  直接已知子类: 

       Inet4Address, Inet6Address

没有构造函数,但是可以通过静态方法获取对象后,在完成其它功能的使用。

 例如:

  static InetAddress getLocalHost() 返回本地主机。   
  static InetAddress getByName(String host) 在给定主机名的情况下确定主机的 IP 地址。
  static InetAddress[] getAllByName(String host) 在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。         
  String getHostAddress() 返回 IP 地址字符串(以文本表现形式)。  
  String getHostName() 获取此 IP 地址的主机名  
  String getCanonicalHostName()  获取此 IP 地址的完全限定域名。即将主机名解析为IP地址

例子1:

import java.net.*;
class IPDemo
{
  public static void main(String[] args) throws Exception
  {
    // InetAddress localhost = InetAddress.getLocalHost(); 
    // System.out.println("localhost="+localhost);       //返回本地主机(主机名和IP地址)
    
    // String hostname = localhost.getHostName();        //返回本地主机中的主机名
    // String hostIP = localhost.getHostAddress();       //返回本地主机中的IP地址
    // System.out.println("hostname="+hostname+"\n"+"hostIP="+hostIP);
    
    
    //InetAddress ia = InetAddress.getByName("www.baidu.com");  
    //System.out.println("name="+ia.getHostName());       
    //System.out.println("adress="+ia.getHostAddress());       


    InetAddress[] iad = InetAddress.getAllByName("www.baidu.com");//百度提供的不止一个主机
    for(int i=0;i<iad.length;i++)
    {
     System.out.println("name="+iad[i].getHostName());       
     System.out.println("adress="+iad[i].getHostAddress());       
    }      
  }
}

import java.net.*;
 String getFile() 获取此 URL 的文件名。 
 String getHost() 获取此 URL 的主机名(如果适用)。 
 String getPath() 获取此 URL 的路径部分。 
 int getPort() 获取此 URL 的端口号。 
 String getProtocol() 获取此 URL 的协议名称。 
 String getQuery() 获取此 URL 的查询部分。

例子2:URL使用

class URLDemo
{
  public static void main(String[] args)throws Exception
  {
    URL url = new URL("http://192.168.1.105:8080/myweb/demo.html?name=haha&age=20");
    
    System.out.println("getProtocol() :"+url.getProtocol());
    System.out.println("getHost() :"+url.getHost());
    System.out.println("getPort() :"+url.getPort());
    System.out.println("getFile() :"+url.getFile());
    System.out.println("getPath() :"+url.getPath());
    System.out.println("getQuery() :"+url.getQuery());
  }
} 

例子3:URLConnection连接

import java.io.*;
import java.net.*;
class URLConnectionDemo
{
  public static void main(String[] args)throws Exception
  {
    URL url = new URL("http://192.168.1.105:8080/myweb/demo.html");
    
    URLConnection conn = url.openConnection(); 
    
    InputStream in = conn.getInputStream();
    
    byte[] buf = new byte[1024];
    int len = in.read(buf);
    
    System.out.println(new String(buf,0,len));  
  }
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多精彩内容其他人还在看

Collections工具类_动力节点Java学院整理

Collections工具类提供了大量针对Collection/Map的操作。这篇文章主要介绍了Collections工具类_动力节点Java学院整理,需要的朋友可以参考下
收藏 0 赞 0 分享

SpringMVC集成Swagger实例代码

本篇文章主要介绍了SpringMVC集成Swagger实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

十大常见Java String问题_动力节点Java学院整理

本文介绍Java中关于String最常见的10个问题,需要的朋友参考下吧
收藏 0 赞 0 分享

Java微信公众平台开发(13) 微信JSSDK中Config配置

这篇文章主要为大家详细介绍了Java微信公众平台开发第十三步,微信JSSDK中Config配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java实现一个达达租车系统的步骤详解

这篇文章主要给大家介绍了利用Java实现一个达达租车系统的步骤,文中给出了详细的实现思路和示例代码,并在文末给出了完整的源码供大家学习下载,需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

Java微信公众平台开发(14) 微信web开发者工具使用

这篇文章主要为大家详细介绍了Java微信公众平台开发第十四步,微信web开发者工具的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Spring Boot整合RabbitMQ实例(Topic模式)

Topic Exchange 转发消息主要是根据通配符。接下来通过本文给大家分享Spring Boot整合RabbitMQ实例(Topic模式),需要的朋友参考下吧
收藏 0 赞 0 分享

Java微信公众平台开发(15) 微信JSSDK的使用

这篇文章主要为大家详细介绍了Java微信公众平台开发第十五步,微信JSSDK的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java多线程的同步方法实例代码

这篇文章主要介绍了 java多线程的同步方法实例代码的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

spring boot整合RabbitMQ实例详解(Fanout模式)

这篇文章主要介绍了spring boot整合RabbitMQ的实例讲解(Fanout模式),非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多