Java:网络编程之IP、URL

简介:
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));    
    }
}
复制代码

 

 

 

 

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!
本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4918848.html ,如需转载请自行联系原作者
相关文章
|
9月前
|
存储 监控 安全
单位网络监控软件:Java 技术驱动的高效网络监管体系构建
在数字化办公时代,构建基于Java技术的单位网络监控软件至关重要。该软件能精准监管单位网络活动,保障信息安全,提升工作效率。通过网络流量监测、访问控制及连接状态监控等模块,实现高效网络监管,确保网络稳定、安全、高效运行。
176 11
|
4月前
|
存储 网络协议 Java
Java获取客户端IP问题:返回127.0.0.1
总结:要解决Java获取客户端IP返回127.0.0.1的问题,首先要找出原因,再采取合适的解决方案。请参考上述方案来改进代码,确保在各种网络环境下都能正确获取客户端IP地址。希望本文对您有所帮助。
257 25
|
4月前
|
搜索推荐 Java 定位技术
Java实现利用GeoLite2-City.mmdb根据IP定位城市的方法
在城市,国家,地区等地理位置数据获取之后,你可以依指定的业务需求,来进行进一步的数据处理。例如,你可以设计一个应用,根据用户的 IP 地址来个性化地展示内容,或者用于分析网络请求的来源等。
687 20
|
6月前
|
存储 网络协议 安全
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
211 23
|
7月前
|
安全 网络协议 Java
Java网络编程封装
Java网络编程封装原理旨在隐藏底层通信细节,提供简洁、安全的高层接口。通过简化开发、提高安全性和增强可维护性,封装使开发者能更高效地进行网络应用开发。常见的封装层次包括套接字层(如Socket和ServerSocket类),以及更高层次的HTTP请求封装(如RestTemplate)。示例代码展示了如何使用RestTemplate简化HTTP请求的发送与处理,确保代码清晰易维护。
|
7月前
|
缓存 网络协议 Java
JAVA网络IO之NIO/BIO
本文介绍了Java网络编程的基础与历史演进,重点阐述了IO和Socket的概念。Java的IO分为设备和接口两部分,通过流、字节、字符等方式实现与外部的交互。
199 0
|
安全 Java Linux
(七)Java网络编程-IO模型篇之从BIO、NIO、AIO到内核select、epoll剖析!
IO(Input/Output)方面的基本知识,相信大家都不陌生,毕竟这也是在学习编程基础时就已经接触过的内容,但最初的IO教学大多数是停留在最基本的BIO,而并未对于NIO、AIO、多路复用等的高级内容进行详细讲述,但这些却是大部分高性能技术的底层核心,因此本文则准备围绕着IO知识进行展开。
368 1
|
Java 大数据
如何在Java中进行网络编程:Socket与NIO
如何在Java中进行网络编程:Socket与NIO
|
监控 Java 开发者
深入理解 Java 网络编程和 NIO
【4月更文挑战第19天】Java网络编程基于Socket,但NIO(非阻塞I/O)提升了效率和性能。NIO特点是非阻塞模式、选择器机制和缓冲区,适合高并发场景。使用NIO涉及通道、选择器和事件处理,优点是高并发、资源利用率和可扩展性,但复杂度、错误处理和性能调优是挑战。开发者应根据需求选择是否使用NIO,并深入理解其原理。
138 1
|
JSON 前端开发 安全
Java网络编程IO模型 --- BIO、NIO、AIO详解
Java网络编程IO模型 --- BIO、NIO、AIO详解
476 0
Java网络编程IO模型 --- BIO、NIO、AIO详解

热门文章

最新文章