java InetAddress类、URL类的使用

Java 网络编程:(二)InetAddress 类_InetSocketAddress 类_URL 类 InetAddress 类_InetSocketAddress 类_URL 类1.InetAddress 类2.InetAddress 类常用的方法3.InetSocketAddress 类4.InetSocketAddress 类常用的方法5.URL 类6.URL 类常用方法 1.InetAddress 类 封装计算机的 IP 地址,不包含端口号 2.InetAddress 类常用的方法 序号 方法 描述 1 String getHostAddress() 获得 IP 地址 2 Str 阅读详情

用JAVA实现InetAddress

    InetAddress类:用于标识网络上的硬件资源,表示互联网协议(ip)地址,是java对ip地址的封装。其实例对象包含以数字形式保存的IP地址,主机名。InetAddress类提供了将主机名解析为IP地址(或反之)的方法。
    
1 InetAddress对象的获取
InetAddress的构造函数不是公开的(public),所以需要通过它提供的静态方法来获取,有以下的方法:

  static InetAddress[] getAllByName(String host)

工厂方法返回代表由一个特殊名称分解的所有地址的InetAddresses类数组。

static InetAddress getByAddress(byte[] addr)

返回给定的原始IP地址InetAddress对象

static InetAddress getByAddress(String host,byte[] addr)

返回给定的主机名和原始IP地址InetAddress对象

static InetAddress getByName(String host)

返回一个传给它的主机名的InetAddress。

static InetAddress getLocalHost()

仅返回象征本地主机的InetAddress对象。

若访问本地地址则用getLocalHost()方法,比较常用的是getByName(String host)方法,只需要传入目标主机的名字,InetAddress会尝试做连接DNS服务器,并且获取IP地址的操作
如:

InetAddress address=InetAddress.getByName("www.baidu.com");

2.获取 InetAddress对象属性
如:
getHostName() 获得主机名
getHostAddress() 获得IP地址

用JAVA实现URL
   URL:统一资源定位符,通过URL可直接读取/写入网络上的数据,是Internet上某一资源的定位符。通过一个URL连接,我们就可以确定资源的位置,比如网络文件、网络页面以及网络应用程序等。
   如下URL连接:
  http://www.mycompany.com:8080/mywebapps/AWebApp

  这个连接规定使用http协议。主机名称为www.mycompany.com。端口号为8080。这个URL的其它部分, /mywebapps/AwebApp,则确定了我们要在这个站点上所要访问的资源。在这个例子中的资源恰好是一个网络应用程序。而且,URL还可以包含其它的元素,比如说文件段以及查询信息等等。

1、创建URL对象
  URL类有多种形式的构造函数:
(1) URL ( String url)
  //url代表一个绝对地址,URL对象直接指向这个资源,如:
  URL urll=new URL(http://www.cqwu.edu.cn);

(2) URL ( URL baseURL , String relativeURL)
 // 其中,baseURL代表绝对地址,relativeURL代表相对地址。如:
  URL urll=new URL(http://www.cqwu.edu.cn);
  URL url=new URL(urll , “/index.html? username=tom#test”);
?号后表示参数,#后表示锚点
(3) URL ( String protocol , String host , String file)
  //其中,protocol代表通信协议,host代表主机名,file代表文件名。如:
  new URL (“http” , www.cqwu.edu.cn, “/ test / test.asp);

(4) URL ( String protocol , String host , int port , String file)
  URL lib = new URL (“http” , www.cqwu.edu.cn, 80 , “/ test / test.asp”);

2.URL连接
成功的创建了一个URL 对象后,就可以对其进行操作。但是在访问这个URL上的资源和内容之前,必须要打开到这些资源与内容上的连接->通过使用openConnection方法来完成这一操作。
用法如下:

        URL url = new URL("http://www.baidu.com.cn");
        URLConnection urlcon = url.openConnection();
        urlconn.connect();//获取连接
    连接成功后,就可以开始对这个URLConnection的输入以及输出流进行读和写的操作了。

3. 从URL 连接中读取数据
方法1:通过openConnection()方法建URLConnection类对象
 成功连接后,就可以获得针对这个连接的输入流并且对其进行读操作。URL可以代表很多不同种类的数据类型所组成的资源。java.io classes可以对文件流或者socket流进行操作方式同样可以对从URLConnection流返回的数据进行读操作。

   URL url = new URL("http://www.baidu.com.cn");
   URLConnection urlcon = url.openConnection();
   urlconn.connect();//获取连接 
   //打开连接读取的输入流。      
   InputStream is = urlcon.getInputStream();
   int c; 
   //进行读操作     
      while ((c = is.read()) != -1)        
          System.out.print(c); 
   //关闭输入流   
   in.close();        
方法2:通过URL类的openStream()方法
    URL url =new    URL("http://music.163.com/#/user/home?id=1");        

    //打开URL连接并返回一个用于从该连接读入的InputStream字节输入流。        
    InputStream is = url.openStream();     
    //将字节输入流转换为字符输入流
    InputStreamReader isr = new InputStreamReader(is);
    //为字符输入流添加缓冲,提高效率
    BufferedReader bfr = new  BufferedReader (isr);
    //读取数据
    String data = bfr.readline();     
    while (data!=null) {        
        System.out.printf(data);
        data = bfr.readline();     
    }    
    bfr.close();
    isr.close();
    is.close();         

4.对URL进行写的操作

  使用java.io stream classes对URL进行写的操作:成功连接后,就可以得到来自此连接的输出流并且开始进行写的操作。在获得并对URLConnection流进行写的操作之前,还需要使用setDoOutput(boolean)方式把输出(Output)属性设置为真(true)来指定可以进行写操作的那些连接。Java.io classes允许你把数据写到URLConnection流,这个操作也和你对文件流和socket流进行的写操作一样。

5.获取URL对象的属性
  getDefaultPort(): 返回默认的端口号。
  getFile(): 获得URL指定资源的完整文件名。
  getHost(): 返回主机名。
  getPath(): 返回指定资源的文件目录和文件名。
  getPort(): 返回端口号,默认为-1。
  getProtocol(): 返回表示URL中协议的字符串对象。
  getRef(): 返回URL中的HTML文档标记,即#号标记。
  getUserInfo: 返回用户信息。
  toString: 返回完整的URL字符串。
  

Java网络编程基础-InetAddress类与URL类 立即下载

相关推荐

一文读懂客户健康度

什么是客户健康度?客户健康度为什么重要?怎么计算客户健康度?这篇文章,我们来聊聊。

m0_62700043的博客 1419

Java基础了解-12-网络编程/发送邮件/多线程编程/Applet 基础/文档注释

网络编程/发送邮件/多线程编程/Applet 基础/文档注释

Xiaowu2048的博客 1115

Langchain与Milvus集成中的pymilvus.exceptions.MilvusException: channel not found错误解析

本文深入解析了在Langchain与Milvus集成时常见的pymilvus.exceptions.MilvusException: channel not found错误。该错误通常由客户端配置错误、网络问题、服务端状态异常或版本不兼容导致。文章提供了从基础连通性测试到高级网络排查的完整故障排除指南,并针对本地Docker、远程服务器及Kubernetes等典型部署场景给出了具体解决方案,帮助开发者快速定位并修复这一连接层问题。

weixin_29229989的博客 217

Java网络编程之URL类创建客户端程序、InetAddress类获取域名IP

大家好,我是柒星 今天讲解Java网络编程之URL类、InetAddress类,在讲之前呢,大家有必要了解什么是网络编程?(因为我一向推崇大家学习的时候先了解你要学的东西有哪些作用,是用来干什么的,这样你才有目的有意义的去学习。否则意义不大~) 以下文章来自公众号【Honker】,公众号内回复Java可免费领取Java学习视频~ 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络...

专注前端技术,包括Web端、移动端、小程序、APP 716

CMAC算法原理

2、K1 通过以下运算导出:若 L 的最高有效位等于 0,则 K1 是 L 的左移 1 位。3、K2 通过如下运算导出:若 K1 的最高有效位等于 0,则 K2 是 K1 的左移 1 位。采用了 AES 算法中的类似 CBC 模式的加密方式,即对前一个分组的密文与当前分组的明文进行异或操作后在加密,2、分块处理:首先将消息分成多个固定长度的块,若消息长度不是块大小的倍数,则可以使用填充来将其填充到合适的大小。1、子密钥计算,通过主密钥生成子密钥(key1,key2),子密钥用于最后一个块处理;

sky的博客 1658

[捷稀 JCG Q30 Pro 刷机说明] 以刷入openwrt24.10为例

摘要: 本文详细介绍了捷稀JCG Q30 Pro路由器刷入OpenWrt 24.10系统的步骤。通过先刷入OpenWrt 23.05过渡固件,再升级Uboot,最后通过TFTP加载工厂镜像完成刷机。关键步骤包括解锁分区、刷写Uboot、进入恢复模式及配置网络。文章还提供了无线设置、Tailscale内网穿透等进阶命令,并附参考文档和固件下载链接。适用于有一定技术基础的玩家,需注意操作风险,严格按流程执行。

贤时间 7133

对象拼接 请求路径_Java URL处理

Java URL处理URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址。表示为互联网上的资源,如网页或者FTP地址。本章节我们将介绍Java是如处理URL的。URL可以分为如下几个部分。protocol://host:port/path?query#fragmentprotocol(协议)可以是 HTTP、HTTPS、FTP 和 File,po...

weixin_39619433的博客 961

【腾讯小龙虾WorkBuddy专栏05】深度解析WorkBuddy连接器(Connector)

深度解析WorkBuddy连接器(Connector)

AI人人懂 1308

InetAddress类的使用

一、InetAddress 1、为了方便我们对IP地址的获取和操作,Java提供了一个InetAddress类,该类表示Internet协议(IP)地址 2、InetAddress常用方法: <1>:static InetAdress getByname(String host):确定主机名称的IP地址。主机名称可以是机器名称(即计算机全名),也可以是IP地址 <2>:String getHostName():获取此IP地址的主机名 <3>:String getHostA

weixin_43541103的博客 1396

6.14华为OD机试真题 新系统 - 字符串格式调整 (Java/Py/C/C++/Js/Go)

# **字符串格式调整** > 2026 华为OD机试真题 6月14日华为OD上机新系统考试真题 100 分题型 点击查看华为 OD 机试真题完整目录:[2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解](https://blog.youkuaiyun.com/banxia_frontend/article/details/160346662) # 题目描述 输入一个字符串,字符串中只包含大写字母和数字。要求将字符串中的所有数字提取出来,按出现的顺序组

算法大师! 947

断层错动和近断层地震动联合作用下软岩隧洞衬砌损伤分析

摘要 本文提出了一种基于Python的软岩隧洞衬砌损伤分析系统,重点研究断层错动和近断层地震动的联合作用效应。系统采用有限元方法建立隧洞-围岩体系模型,通过非线性动力分析评估衬砌结构损伤。研究内容包括:1)建立考虑应变软化的软岩本构模型;2)基于位错理论模拟断层错动过程;3)合成具有速度脉冲效应的近断层地震动;4)开发完整的动力响应分析流程。结果表明,所提出的方法能有效评估软岩隧洞在复杂地质条件下的抗震性能,为工程设计提供理论依据。 关键词:软岩隧洞、断层错动、近断层地震动、损伤分析、Python、有限元法

max500600的博客 842

InetAddress类的常用方法介绍

IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础。InetAddress是Java对IP地址的封装,在java.net中有许多类都使用到了InetAddress,包括ServerSocket,Socket,DatagramSocket等等。 InetAddress的实例对象包含以数字形式保存的IP地址,同时还可能包含主机名(如果使用主机名来获取InetAddress的实例,或者使用数字来构造,并且启用了反向主机名解析的功能)。InetAddres

weixin_42408447的博客 1609

Python图像处理之光斑分析

光斑是工程中经常出现的图像数据,其特点是目标明确,分布清晰。对光斑图像的分析,主要包括质心定位、目标截取以及半径拟合等。

微小冷的学习笔记 2857

java inetAddress类,URL类

InetAddress类 package com.sjm; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Arrays; public class Test { public static void main(S

Jinming Su 578

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java中网络相关的InetAddress类、Socket类和URL类

InetAddress类的一个实例就代表一个具体的IP地址。

wytccc的博客 1034

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java的两个类 InetAddress类 和 URL 类

Java的两个类 InetAddress类  和  URL  类1、InetAddress类 IntAddress 类用于标识网络上的硬件资源,标识互联网协议(IP)地址。InetAddress类的使用public static void main(String[] arg) throws UnknownHostException { //InetAddress InetAddre...

Mark_Xu的博客 812

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java网络编程——InetAddress类和URL类

一、InetAddress类与URL类 Java中用InetAddress类表示互联网协议(IP)地址,用URL类表示一个统一资源定位符,它是指向互联网上某一资源的“指针”。IP 地址是 IP 使用的 32 位或 128 位无符号数字,它是一种低级协议,UDP 和 TCP 协议都是在它的基础上构建的。URL由两部分组成:协议名称和资源名称,中间用冒号隔开。 二、InetAddress类

记录只为更好地前行 1522

【Java】网络编程基础—InetAddress类和URL编程

本文主要讲解了InetAddress类的常用方法及其案例、URL的基本结果、常用方法和案例

2301_80760873的博客 694

快速上手Java网络编程(一)基础介绍、URL类和InetAddress类

快速上手Java网络编程(一)基础介绍、URL类和InetAddress类 最近在学Java网络编程,里面涉及到的一些概念比较容易搞混,于是决定写博客记录整理一下,方便日后复习,如有发现错误之处,还请在评论区指正。 一、 前置知识 (1)Java基本语法 (2)需要对Java输入输出流有基本的认识(其实不懂也能看得懂) (3)了解Java的多线程机制 (4)对计算机网络(计算机之间的通信)有基本的认识(最起码知道啥是IP地址,用来干啥的) 二、URL类和InetAddress类 1、URL类 URL想必大

tomatoarmys的博客 394

Java常见网络操作(URL类,InetAddress类,URLConnection类)

*****************InetAddress********************** InetAddress:用于标识网络上的硬件资源(如,IP,主机名,域名等)。 对于InetAddress,三个方法:getLocalHost()、getByName()以及getAllByName()可以用来创建InetAddress的实例。 InetAddress类没...

dfhz2014的博客 404

java address_java中的URL InetAddress类

/** InetAddress类:* 用于标识网络上的硬件资源,表示互联网协议(ip)地址,是java对ip地址的封装。* 其实例对象包含以数字形式保存的IP地址,主机名。* InetAddress类提供了将主机名解析为IP地址(或反之)的方法。** 1InetAddress对象的获取InetAddress的构造函数不是公开的(public),所以需要通过它提供的静态方法来获取,有以下的方法:st...

weixin_30833209的博客 240

java网络编程四:InetAddress类、URL类、URLConnection类解析及用法示例

1、InetAddress类实现简单IP扫描获得主机名 package demo.net; import java.net.InetAddress; import java.net.UnknownHostException; /* * 获取指定IP的主机名 */ public class IPScanner { // 传入IP地址,返回主机名称,若主机不可达则返回ip地址的字符串形式

Touch_2011的专栏 1万+

getheaderfields java_Java常见网络操作(URL类,InetAddress类,URLConnection类)

*****************InetAddress**********************InetAddress:用于标识网络上的硬件资源(如,IP,主机名,域名等)。对于InetAddress,三个方法:getLocalHost()、getByName()以及getAllByName()可以用来创建InetAddress的实例。InetAddress类没有提供返回构造函数,所以不能用n...

weixin_35208812的博客 541

Java网络基础URL类/InetAddress类//文件目录

URL类 URL统一资源定位器(Uniform Resource Locator),Java使用URL创建对象的应用程序称为客户端程序,一个URL对象存放着一个具体的资源的引用,一个URL对象通常包含最基本的三部分信息,协议,地址和资源 URL构造方法 URL类使用以下构造方法创建一个URL对象 public URL(String uspec); 例如 try { URL url = new URL("https://kanbanflow.com/board/M1Rgeu");

想带狗熊去吹风 270

java 中socket通信之InetAddress类、URL、socket建立连接

根据慕课网学习记录:https://www.imooc.com/video/30771、InetAddress类用于标识网络上的硬件资源,表示互联网协议(IP)地址这个类没有构造函数,没有办法用new方法来新建类,但是提供了静态方法,可以获取实例具体代码:import java.net.InetAddress; import java.net.UnknownHostException; impor...

山鬼谣弋痕夕的博客 2083
上一篇: 位运算的威力
下一篇: 通过Socket实现TCP编程
flowser
博客等级 码龄11年 37粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值